Skip to content

Commit

Permalink
fix: change subcommand, format,etc
Browse files Browse the repository at this point in the history
*  fix subcommand or flag handling
  - use fire module for subcommand handler
  - change flags to subcommand
* change commands or help format
  - use tabulate for help or listing commands
* added feature: copying directory to clipboard
  - use pyperclip for copying dir to clipboard
  • Loading branch information
marcuwynu23 committed Jun 25, 2023
1 parent 304dccc commit dd9685c
Show file tree
Hide file tree
Showing 61 changed files with 101 additions and 32 deletions.
Binary file removed dist/sdir.zip
Binary file not shown.
Binary file removed dist/sdir/VCRUNTIME140.dll
Binary file not shown.
Binary file removed dist/sdir/_bz2.pyd
Binary file not shown.
Binary file removed dist/sdir/_decimal.pyd
Binary file not shown.
Binary file removed dist/sdir/_hashlib.pyd
Binary file not shown.
Binary file removed dist/sdir/_lzma.pyd
Binary file not shown.
Binary file removed dist/sdir/_socket.pyd
Binary file not shown.
Binary file removed dist/sdir/_sqlite3.pyd
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-console-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-datetime-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-debug-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-errorhandling-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-file-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-file-l1-2-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-file-l2-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-handle-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-heap-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-interlocked-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-libraryloader-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-localization-l1-2-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-memory-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-namedpipe-l1-1-0.dll
Binary file not shown.
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-processthreads-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-processthreads-l1-1-1.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-profile-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-rtlsupport-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-string-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-synch-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-synch-l1-2-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-sysinfo-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-timezone-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-core-util-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-conio-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-convert-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-environment-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-filesystem-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-heap-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-locale-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-math-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-process-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-runtime-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-stdio-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-string-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-time-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/api-ms-win-crt-utility-l1-1-0.dll
Binary file not shown.
Binary file removed dist/sdir/base_library.zip
Binary file not shown.
Binary file removed dist/sdir/libcrypto-1_1.dll
Binary file not shown.
Binary file removed dist/sdir/python310.dll
Binary file not shown.
Binary file removed dist/sdir/sdir.exe
Binary file not shown.
Binary file removed dist/sdir/select.pyd
Binary file not shown.
Binary file removed dist/sdir/sqlite3.dll
Binary file not shown.
Binary file removed dist/sdir/ucrtbase.dll
Binary file not shown.
Binary file removed dist/sdir/unicodedata.pyd
Binary file not shown.
Binary file removed docs/images/1.jpg
Binary file not shown.
Binary file added lib/__pycache__/sdir.cpython-310.pyc
Binary file not shown.
17 changes: 17 additions & 0 deletions src/sdir.py → lib/sdir.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from os import getcwd,chdir,path
from shutil import which
import datetime
import pyperclip



Expand Down Expand Up @@ -85,3 +86,19 @@ def remove_dir_all(db):

def list_dir(db):
__select_dir_all(db)

def get_directory_by_id(db, id):
c = db.cursor()
c.execute("SELECT directory FROM Directory WHERE id=?", (id,))
result = c.fetchone()
return result


def copy_path_to_clip(db, id):
directory = get_directory_by_id(db, id)
if directory is not None:
path = directory[0]
pyperclip.copy(path)
print("Path copied to clipboard:", path)
else:
print("Directory not found with ID:", id)
3 changes: 3 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
tabulate==0.9.0
fire==0.4.0
pyperclip==1.8.2
63 changes: 31 additions & 32 deletions sdir.py
Original file line number Diff line number Diff line change
@@ -1,37 +1,36 @@
import sys
from src.sdir import *
help = '''
SDIR - saved directory
use these flags: -s,-r,-ra,-l
-s\t\tsave current directory
-r\t\tremove a directory
-ra\t\tremove all saved directory
-l\t\tlist all saved directory
'''
def main():
db = DB()
args = sys.argv
create_table_once(db)
try:
cmd = args[1]
from lib.sdir import *
import fire
from tabulate import tabulate

if cmd == "-s":
save_dir(db)

elif cmd == "-r":
id = args[2]
remove_dir(db,id)
def main(cmd=None, id=None):
db = DB()
create_table_once(db)

if cmd == "save":
save_dir(db)
elif cmd == "remove" and id is not None:
remove_dir(db, id)
elif cmd == "remove-all":
remove_dir_all(db)
elif cmd == "list":
list_dir(db)
elif cmd == "clip" and id is not None:
copy_path_to_clip(db, id)
else:
help_table = [
["Command", "Description"],
["save", "Save the current directory."],
["remove [id]", "Remove a saved directory by its ID."],
["remove-all", "Remove all saved directories."],
["list", "List all saved directories."],
["clip [id]", "Copy the path of a saved directory to the clipboard."]
]
print("SDIR - Saved Directory")
print(tabulate(help_table, headers="firstrow", tablefmt="plain"))
print("\nAuthor: Mark Wayne Menorca")
print("GitHub: https://github.com/marcuwynu23/sdir")

elif cmd == "-ra":
remove_dir_all(db)

elif cmd == "-l":
list_dir(db)
else:
print(help)

except IndexError as err:
print(help)

if __name__ == '__main__':
main()
fire.Fire(main)
50 changes: 50 additions & 0 deletions sdir.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
['sdir.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='sdir',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
coll = COLLECT(
exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='sdir',
)
Binary file removed src/__pycache__/sdir.cpython-310.pyc
Binary file not shown.

0 comments on commit dd9685c

Please sign in to comment.