Skip to content

Commit

Permalink
mm
Browse files Browse the repository at this point in the history
  • Loading branch information
chee committed Nov 8, 2020
1 parent e02bb92 commit c381cb1
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 54 deletions.
9 changes: 7 additions & 2 deletions setup.py
Expand Up @@ -4,7 +4,7 @@
long_description = fh.read()

setuptools.setup(
name="share-chee",
name="share-snootclub",
version="0.0.0",
author="chee",
author_email="chee@snoot.club",
Expand All @@ -13,5 +13,10 @@
long_description_content_type="text/org",
url="https://git.snoot.club/chee/share",
packages=setuptools.find_packages(),
python_requires=">= 3.6"
python_requires=">= 3.6",
entry_points={
'console_scripts': [
"share = share.__main__:main"
]
}
)
111 changes: 59 additions & 52 deletions share/__main__.py
Expand Up @@ -2,68 +2,75 @@
import argparse
import mimetypes
from subprocess import PIPE
import sys
import magic
import subprocess
import os
from slugify import slugify
from .getseq import getseq

parser = argparse.ArgumentParser()
parser.add_argument(
"file",
help="the file to upload to the server"
)
parser.add_argument(
"-s",
"--server",
help="ssh server",
default="snoot.club"
)
parser.add_argument(
"-u",
"--user",
help="ssh user",
default="share"
)
parser.add_argument(
"-d",
"--server-root",
help="directory root",
default="/snoots/share/share.snoot.club/website"
)
parser.add_argument(
"-p",
"--public-root",
help="the prefix for the public url",
default="https://share.snoot.club"
)

args = parser.parse_args()
def main():
parser = argparse.ArgumentParser()
parser.add_argument(
"file",
help="the file to upload to the server"
)
parser.add_argument(
"-s",
"--server",
help="ssh server",
default="snoot.club"
)
parser.add_argument(
"-u",
"--user",
help="ssh user",
default="share"
)
parser.add_argument(
"-d",
"--server-root",
help="directory root",
default="/snoots/share/share.snoot.club/website"
)
parser.add_argument(
"-p",
"--public-root",
help="the prefix for the public url",
default="https://share.snoot.club"
)

mimetypes.init()
args = parser.parse_args()

if args.file.startswith("/tmp/.psub") or args.file.startswith("/dev/fd"):
prefix = getseq()
head = open(args.file, "rb").read(2048)
ext = mimetypes.guess_extension(magic.from_buffer(head, True))
output_filename = f"{prefix}{ext}"
else:
[name, ext] = os.path.splitext(os.path.basename(args.file))
output_filename = f"{slugify(name)}{ext}"
mimetypes.init()

dirname = getseq()
if args.file.startswith("/tmp/.psub") or args.file.startswith("/dev/fd"):
prefix = getseq()
head = open(args.file, "rb").read(2048)
ext = mimetypes.guess_extension(magic.from_buffer(head, True))
output_filename = f"{prefix}{ext}"
else:
[name, ext] = os.path.splitext(os.path.basename(args.file))
output_filename = f"{slugify(name)}{ext}"

ssh_target = f"{args.user}@{args.server}"
dirname = getseq()

destdir = f"{args.server_root}/{dirname}"
subprocess.run(["ssh", ssh_target, "mkdir", "-p", destdir])
subprocess.run([
"rsync",
"-zL",
"--progress",
"--chmod=a+rw",
args.file,
f"{ssh_target}:{destdir}/{output_filename}"
], stdout=PIPE)
ssh_target = f"{args.user}@{args.server}"

print(f"{args.public_root}/{dirname}/{output_filename}")
destdir = f"{args.server_root}/{dirname}"
subprocess.run(["ssh", ssh_target, "mkdir", "-p", destdir])
subprocess.run([
"rsync",
"-zL",
"--progress",
"--chmod=a+rw",
args.file,
f"{ssh_target}:{destdir}/{output_filename}"
], stdout=PIPE)

print(f"{args.public_root}/{dirname}/{output_filename}")


if __name__ == "__main__":
sys.exit(main())

0 comments on commit c381cb1

Please sign in to comment.