Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
aa
makeserver3
Commits
7d436aba
Commit
7d436aba
authored
Jun 22, 2018
by
Michael Murtaugh
Browse files
limited console output
parent
857bb67f
Changes
1
Hide whitespace changes
Inline
Side-by-side
makeserver3/__init__.py
View file @
7d436aba
...
...
@@ -3,7 +3,7 @@ import sys, os, asyncio, json
from
asyncio
import
create_subprocess_exec
from
urllib.parse
import
urlparse
,
unquote
as
urlunquote
,
quote
as
urlquote
import
argparse
from
asyncio.subprocess
import
DEVNULL
"""
Todo: use proper http error responses for errors, see aiohttp/http_exceptions.py
...
...
@@ -11,7 +11,7 @@ Todo: use proper http error responses for errors, see aiohttp/http_exceptions.py
async
def
is_makeable
(
path
,
cwd
=
"."
,
makefile
=
"makefile"
):
rpath
=
os
.
path
.
relpath
(
path
,
cwd
)
p
=
await
create_subprocess_exec
(
"make"
,
"--question"
,
"-f"
,
makefile
,
rpath
,
cwd
=
cwd
)
p
=
await
create_subprocess_exec
(
"make"
,
"--question"
,
"-f"
,
makefile
,
rpath
,
cwd
=
cwd
,
stdout
=
DEVNULL
,
stderr
=
DEVNULL
)
# retcode 0=file is up to date, 1=file needs remaking, 2=file is not makeable
ret
=
await
p
.
wait
()
==
1
# print (f"is_makeable {path}: {ret}", file=sys.stderr)
...
...
@@ -37,7 +37,7 @@ def is_binary_file (p):
def
editable
(
path
):
_
,
ext
=
os
.
path
.
splitext
(
path
)
ext
=
ext
.
lower
()[
1
:]
print
(
f
"editable? ext
{
ext
}
"
,
file
=
sys
.
stderr
)
#
print (f"editable? ext {ext}", file=sys.stderr)
return
((
ext
not
in
(
"html"
,
"htm"
))
and
not
is_binary_file
(
path
))
# From aiohttp/web_urldispatcher.py
...
...
@@ -92,7 +92,7 @@ def directory_as_html(filepath, directory, prefix, editor_url=None):
async
def
route_get
(
request
):
# return FileResponse(filepath, chunk_size=self._chunk_size)
path
=
urlunquote
(
urlparse
(
request
.
rel_url
.
raw_path
.
lstrip
(
"/"
)).
path
)
print
(
"
route_get
"
,
path
,
file
=
sys
.
stderr
)
print
(
"
GET
"
,
path
,
file
=
sys
.
stderr
)
if
path
==
''
:
path
=
'.'
if
path
and
await
is_makeable
(
path
,
makefile
=
request
.
app
[
'makefile'
]):
...
...
@@ -108,7 +108,7 @@ async def route_get (request):
async
def
route_post
(
request
):
""" write posted text value to file """
path
=
urlunquote
(
urlparse
(
request
.
rel_url
.
raw_path
.
lstrip
(
"/"
)).
path
)
print
(
"
route_post
"
,
path
,
file
=
sys
.
stderr
)
print
(
"
POST
"
,
path
,
file
=
sys
.
stderr
)
if
os
.
path
.
exists
(
path
)
and
os
.
path
.
isfile
(
path
):
data
=
await
request
.
post
()
if
'text'
in
data
:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment