summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 04:12:32 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 04:12:32 +0000
commit4017e7d1695c53a599a5ea7047dae64236066412 (patch)
tree4d6efe170438e333c067ca915251f6d791aa9f14
parentcdddbce504ebb1d4088706c456eb4ffae42b10a4 (diff)
automatic import of python-sharefile-webuiopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-sharefile-webui.spec417
-rw-r--r--sources1
3 files changed, 419 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..5c5830e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/sharefile-webui-1.7.7.tar.gz
diff --git a/python-sharefile-webui.spec b/python-sharefile-webui.spec
new file mode 100644
index 0000000..99e557c
--- /dev/null
+++ b/python-sharefile-webui.spec
@@ -0,0 +1,417 @@
+%global _empty_manifest_terminate_build 0
+Name: python-sharefile-webui
+Version: 1.7.7
+Release: 1
+Summary: WEB APP for sharing files via URL links.
+License: MIT
+URL: https://gitlab.com/alda78/sharefile-webui
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c6/00/d7f8ccd2a706c1828d890ff465a741ddd66f6909425156c4ab6809eda735/sharefile-webui-1.7.7.tar.gz
+BuildArch: noarch
+
+Requires: python3-flask
+Requires: python3-flask-httpauth
+Requires: python3-flask-restful
+Requires: python3-markdown
+Requires: python3-requests
+Requires: python3-werkzeug
+
+%description
+# sharefile-webui
+
+Simple and lightweight responsive web app for sharing files via URL link. Supports drag&drop chunk upload of large files, basic file and directory operations.
+Application is based on Python Flask, Flask-Restful and React for simple file
+administration. It can be comfortebly run on Raspberry Pi.
+
+## Usage
+```bash
+sharefile-webui --help
+usage: sharefile-webui [-h] [-o HOST] [-p PORT] [-u ADD_USER] [-r REMOVE_USER] [-l] [-t] [-c] share_directory
+
+Share Files WEB UI v1.5.0
+
+positional arguments:
+ share_directory Directory where shares are stored.
+
+optional arguments:
+ -h, --help show this help message and exit
+ -o HOST, --host HOST APP server host
+ -p PORT, --port PORT APP server port
+ -u ADD_USER, --add-user ADD_USER
+ Add admin user in user@password format.
+ -r REMOVE_USER, --remove-user REMOVE_USER
+ Remove admin user from users list.
+ -l, --list-users List existing admin users
+ -t, --list-tokens List file tokens into stdout
+ -c, --clear-tokens Clear file tokens database
+```
+Example:
+```bash
+sharefile-webui -u username@password
+sharefile-webui -p 5555 /tmp
+```
+This example will share `/tmp` directory on http://localhost:5555
+By requesting this URL you will be prompted to fill user and password
+to access admin UI to manage file sharing. For each file of directory you can
+generate secure token. When secure token is generated file could be shared
+via URL link like this http://localhost:5555/share/directory-name/file-name?token=12345.
+
+## Instalation
+```bash
+pip3 install sharefile-webui
+```
+
+### systemd configuration
+```bash
+PORT=5555
+SHARE_DIR=/tmp
+echo "[Unit]
+Description=ShareFileWebUI
+
+[Service]
+ExecStart=/bin/bash -c \"/usr/local/bin/sharefile-webui -p ${PORT} ${SHARE_DIR} >> /var/log/sharefile-webui.log 2>&1 &\"
+ExecStop=killall sharefile-webui
+ExecRestart=/bin/bash -c \"killall sharefile-webui && /usr/local/bin/sharefile-webui -p ${PORT} ${SHARE_DIR} >> /var/log/sharefile-webui.log 2>&1 &\"
+ExecStatus=ps -ax | grep sharefile-webui
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
+" > /lib/systemd/system/sharefile-webui.service
+systemctl enable sharefile-webui.service
+```
+after that is possible to use
+```bash
+systemctl start sharefile-webui.service
+```
+
+### Build it by your own
+#### JS
+Build JS production version is not nessesry, because it is already buid in `sharefile_webui/static/js` directory.
+But if you want to change something in UI, lets do it by running:
+```bash
+sudo apt update
+sudo apt install nodejs npm
+cd sharefile_webui_js
+npm run build
+```
+or for comfortable local development
+```bash
+npm run watch
+```
+with auto build feature if any file is changed.
+### Py
+```bash
+cd sharefile_webui
+python3 setup.py build
+```
+or local installation
+```bash
+cd sharefile_webui
+python3 setup.py install
+```
+
+## Tips and Tricks
+### Upload file from command line
+
+It is possile to simply upload file by CURL command via route `/api/upload/`.
+usage:
+```bash
+curl -X POST -H "Content-Type: multipart/form-data" -u "admin:pass" -F "file=@FILENAME" "http://localhost:5000/api/upload/DIRECTORY"
+```
+
+It is possible to upload file by CURL and share file automatically at ones via route `/api/uploadandshare/`
+usage:
+```bash
+curl -X POST -H "Content-Type: multipart/form-data" -u "admin:pass" -F "file=@FILENAME" "http://localhost:5000/api/uploadandshare/DIRECTORY"
+```
+
+## Screenshot
+![sharefile-webui screenshot](https://gitlab.com/alda78/sharefile-webui/-/raw/master/sharefile-webui.png)
+
+
+
+
+%package -n python3-sharefile-webui
+Summary: WEB APP for sharing files via URL links.
+Provides: python-sharefile-webui
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-sharefile-webui
+# sharefile-webui
+
+Simple and lightweight responsive web app for sharing files via URL link. Supports drag&drop chunk upload of large files, basic file and directory operations.
+Application is based on Python Flask, Flask-Restful and React for simple file
+administration. It can be comfortebly run on Raspberry Pi.
+
+## Usage
+```bash
+sharefile-webui --help
+usage: sharefile-webui [-h] [-o HOST] [-p PORT] [-u ADD_USER] [-r REMOVE_USER] [-l] [-t] [-c] share_directory
+
+Share Files WEB UI v1.5.0
+
+positional arguments:
+ share_directory Directory where shares are stored.
+
+optional arguments:
+ -h, --help show this help message and exit
+ -o HOST, --host HOST APP server host
+ -p PORT, --port PORT APP server port
+ -u ADD_USER, --add-user ADD_USER
+ Add admin user in user@password format.
+ -r REMOVE_USER, --remove-user REMOVE_USER
+ Remove admin user from users list.
+ -l, --list-users List existing admin users
+ -t, --list-tokens List file tokens into stdout
+ -c, --clear-tokens Clear file tokens database
+```
+Example:
+```bash
+sharefile-webui -u username@password
+sharefile-webui -p 5555 /tmp
+```
+This example will share `/tmp` directory on http://localhost:5555
+By requesting this URL you will be prompted to fill user and password
+to access admin UI to manage file sharing. For each file of directory you can
+generate secure token. When secure token is generated file could be shared
+via URL link like this http://localhost:5555/share/directory-name/file-name?token=12345.
+
+## Instalation
+```bash
+pip3 install sharefile-webui
+```
+
+### systemd configuration
+```bash
+PORT=5555
+SHARE_DIR=/tmp
+echo "[Unit]
+Description=ShareFileWebUI
+
+[Service]
+ExecStart=/bin/bash -c \"/usr/local/bin/sharefile-webui -p ${PORT} ${SHARE_DIR} >> /var/log/sharefile-webui.log 2>&1 &\"
+ExecStop=killall sharefile-webui
+ExecRestart=/bin/bash -c \"killall sharefile-webui && /usr/local/bin/sharefile-webui -p ${PORT} ${SHARE_DIR} >> /var/log/sharefile-webui.log 2>&1 &\"
+ExecStatus=ps -ax | grep sharefile-webui
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
+" > /lib/systemd/system/sharefile-webui.service
+systemctl enable sharefile-webui.service
+```
+after that is possible to use
+```bash
+systemctl start sharefile-webui.service
+```
+
+### Build it by your own
+#### JS
+Build JS production version is not nessesry, because it is already buid in `sharefile_webui/static/js` directory.
+But if you want to change something in UI, lets do it by running:
+```bash
+sudo apt update
+sudo apt install nodejs npm
+cd sharefile_webui_js
+npm run build
+```
+or for comfortable local development
+```bash
+npm run watch
+```
+with auto build feature if any file is changed.
+### Py
+```bash
+cd sharefile_webui
+python3 setup.py build
+```
+or local installation
+```bash
+cd sharefile_webui
+python3 setup.py install
+```
+
+## Tips and Tricks
+### Upload file from command line
+
+It is possile to simply upload file by CURL command via route `/api/upload/`.
+usage:
+```bash
+curl -X POST -H "Content-Type: multipart/form-data" -u "admin:pass" -F "file=@FILENAME" "http://localhost:5000/api/upload/DIRECTORY"
+```
+
+It is possible to upload file by CURL and share file automatically at ones via route `/api/uploadandshare/`
+usage:
+```bash
+curl -X POST -H "Content-Type: multipart/form-data" -u "admin:pass" -F "file=@FILENAME" "http://localhost:5000/api/uploadandshare/DIRECTORY"
+```
+
+## Screenshot
+![sharefile-webui screenshot](https://gitlab.com/alda78/sharefile-webui/-/raw/master/sharefile-webui.png)
+
+
+
+
+%package help
+Summary: Development documents and examples for sharefile-webui
+Provides: python3-sharefile-webui-doc
+%description help
+# sharefile-webui
+
+Simple and lightweight responsive web app for sharing files via URL link. Supports drag&drop chunk upload of large files, basic file and directory operations.
+Application is based on Python Flask, Flask-Restful and React for simple file
+administration. It can be comfortebly run on Raspberry Pi.
+
+## Usage
+```bash
+sharefile-webui --help
+usage: sharefile-webui [-h] [-o HOST] [-p PORT] [-u ADD_USER] [-r REMOVE_USER] [-l] [-t] [-c] share_directory
+
+Share Files WEB UI v1.5.0
+
+positional arguments:
+ share_directory Directory where shares are stored.
+
+optional arguments:
+ -h, --help show this help message and exit
+ -o HOST, --host HOST APP server host
+ -p PORT, --port PORT APP server port
+ -u ADD_USER, --add-user ADD_USER
+ Add admin user in user@password format.
+ -r REMOVE_USER, --remove-user REMOVE_USER
+ Remove admin user from users list.
+ -l, --list-users List existing admin users
+ -t, --list-tokens List file tokens into stdout
+ -c, --clear-tokens Clear file tokens database
+```
+Example:
+```bash
+sharefile-webui -u username@password
+sharefile-webui -p 5555 /tmp
+```
+This example will share `/tmp` directory on http://localhost:5555
+By requesting this URL you will be prompted to fill user and password
+to access admin UI to manage file sharing. For each file of directory you can
+generate secure token. When secure token is generated file could be shared
+via URL link like this http://localhost:5555/share/directory-name/file-name?token=12345.
+
+## Instalation
+```bash
+pip3 install sharefile-webui
+```
+
+### systemd configuration
+```bash
+PORT=5555
+SHARE_DIR=/tmp
+echo "[Unit]
+Description=ShareFileWebUI
+
+[Service]
+ExecStart=/bin/bash -c \"/usr/local/bin/sharefile-webui -p ${PORT} ${SHARE_DIR} >> /var/log/sharefile-webui.log 2>&1 &\"
+ExecStop=killall sharefile-webui
+ExecRestart=/bin/bash -c \"killall sharefile-webui && /usr/local/bin/sharefile-webui -p ${PORT} ${SHARE_DIR} >> /var/log/sharefile-webui.log 2>&1 &\"
+ExecStatus=ps -ax | grep sharefile-webui
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
+" > /lib/systemd/system/sharefile-webui.service
+systemctl enable sharefile-webui.service
+```
+after that is possible to use
+```bash
+systemctl start sharefile-webui.service
+```
+
+### Build it by your own
+#### JS
+Build JS production version is not nessesry, because it is already buid in `sharefile_webui/static/js` directory.
+But if you want to change something in UI, lets do it by running:
+```bash
+sudo apt update
+sudo apt install nodejs npm
+cd sharefile_webui_js
+npm run build
+```
+or for comfortable local development
+```bash
+npm run watch
+```
+with auto build feature if any file is changed.
+### Py
+```bash
+cd sharefile_webui
+python3 setup.py build
+```
+or local installation
+```bash
+cd sharefile_webui
+python3 setup.py install
+```
+
+## Tips and Tricks
+### Upload file from command line
+
+It is possile to simply upload file by CURL command via route `/api/upload/`.
+usage:
+```bash
+curl -X POST -H "Content-Type: multipart/form-data" -u "admin:pass" -F "file=@FILENAME" "http://localhost:5000/api/upload/DIRECTORY"
+```
+
+It is possible to upload file by CURL and share file automatically at ones via route `/api/uploadandshare/`
+usage:
+```bash
+curl -X POST -H "Content-Type: multipart/form-data" -u "admin:pass" -F "file=@FILENAME" "http://localhost:5000/api/uploadandshare/DIRECTORY"
+```
+
+## Screenshot
+![sharefile-webui screenshot](https://gitlab.com/alda78/sharefile-webui/-/raw/master/sharefile-webui.png)
+
+
+
+
+%prep
+%autosetup -n sharefile-webui-1.7.7
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-sharefile-webui -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.7.7-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..66676e0
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e0bd5303d75217456631952931c4e53f sharefile-webui-1.7.7.tar.gz