From ddf9d471cec6dda4e8ad6939afe3250d75468704 Mon Sep 17 00:00:00 2001 From: Acidham Date: Tue, 24 Jan 2023 16:52:13 +0100 Subject: [PATCH] Added output of full log option --- README.md | 2 - RSync Folders.alfredworkflow | Bin 118024 -> 118631 bytes src/delete_item.py | 2 +- src/exec.py | 41 +++- src/info.plist | 406 ++++++++++++++++++++++------------- src/rsync_config.py | 2 +- 6 files changed, 294 insertions(+), 159 deletions(-) diff --git a/README.md b/README.md index 849088c..9fdc7a9 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,5 @@ Usage: `rsync` * Executes `rsync``on *all* rsync entries or the entries one by one. * New Entries can be added in the workflow or via file action -* Delete rsync config entries. -* Edit rsync config ![](screenshot.png) diff --git a/RSync Folders.alfredworkflow b/RSync Folders.alfredworkflow index 74fea02b169e7909d58f8af47ae7b1b4b525b321..aa1ddd727d84c4453769695b1d9544183fb12ff1 100644 GIT binary patch delta 5784 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 delta 5142 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 Dzu}UI diff --git a/src/delete_item.py b/src/delete_item.py index 52b1c9c..f33ffdb 100644 --- a/src/delete_item.py +++ b/src/delete_item.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -from Alfred3 import Items, Tools +from Alfred3 import Items from Rsync import Config rs = Config() diff --git a/src/exec.py b/src/exec.py index db01a35..27291bb 100644 --- a/src/exec.py +++ b/src/exec.py @@ -7,30 +7,57 @@ from Alfred3 import Tools from Rsync import Config +TMP_FILE = "/tmp/rsync_log.txt" + +# Remove log file when exists +if os.path.exists(TMP_FILE): + os.remove(TMP_FILE) + +# write stats to log files + + +def write_log(source, target, txt): + with open(TMP_FILE, "a") as f: + head = f"{source} -> {target}" + f.write(head) + f.write("\n") + f.write("=" * len(head)) + f.write("\n") + f.write(txt) + f.write("\n") + +# rsync source to target + def rsync(source: str, target: str) -> int: - cmd = f'rsync -rtvuc --delete-after --ignore-errors "{source}/" "{target}/" --stats | grep "Number of files transferred"' + cmd = f'rsync -rtvuc --delete-after --ignore-errors "{source}/" "{target}/" --stats' res = os.popen(cmd).read() - output = re.sub("[^0-9]", "", res) - return int(output) + return (res) uid = Tools.getArgv(1) rs = Config() config = rs.getConfig() -result = 0 +file_count = 0 if uid == "-ALL-": for c in config: source = c["source"] target = c["target"] - result = result + rsync(source, target) + result = rsync(source, target) + match = re.search("Number of files transferred (\d+)", result) + file_count += int(match.group(1)) + write_log(source, target, result) else: for c in config: if c["uid"] == uid: source = c["source"] target = c["target"] - result = int(rsync(source, target)) + result = rsync(source, target) + match = re.search("Number of files transferred: (\d+)", result) + mg = int(match.group(1)) + file_count += mg + write_log(source, target, result) -sys.stdout.write(str(result)) +sys.stdout.write(str(file_count)) diff --git a/src/info.plist b/src/info.plist index 7e945a8..6af58da 100644 --- a/src/info.plist +++ b/src/info.plist @@ -73,6 +73,21 @@ + 4CF5E047-F30C-44E6-9C25-59F738289DE1 + + + destinationuid + 478188EC-E7D2-4275-AED2-EB781CB4E0A7 + modifiers + 0 + modifiersubtext + + sourceoutputuid + 572ADDBB-50A0-408E-B679-7C32E1B60E42 + vitoclose + + + 561445B8-E5D6-4AB5-9C0E-0C5B828580F8 @@ -101,6 +116,16 @@ 67518518-A5CF-43A5-B141-81106FDB7B29 + + destinationuid + 4CF5E047-F30C-44E6-9C25-59F738289DE1 + modifiers + 0 + modifiersubtext + + vitoclose + + destinationuid 4A4AC872-88D0-439A-9B51-F463348654EA @@ -397,6 +422,53 @@ version 1 + + config + + openwith + + sourcefile + /tmp/rsync_log.txt + + type + alfred.workflow.action.openfile + uid + 478188EC-E7D2-4275-AED2-EB781CB4E0A7 + version + 3 + + + config + + conditions + + + inputstring + {var:show_log} + matchcasesensitive + + matchmode + 5 + matchstring + + outputlabel + show log + uid + 572ADDBB-50A0-408E-B679-7C32E1B60E42 + + + elselabel + else + hideelse + + + type + alfred.workflow.utility.conditional + uid + 4CF5E047-F30C-44E6-9C25-59F738289DE1 + version + 1 + config @@ -499,7 +571,7 @@ lastpathcomponent onlyshowifquerypopulated - + removeextension text @@ -537,52 +609,6 @@ version 2 - - config - - argumenttrimmode - 0 - argumenttype - 1 - fixedorder - - items - [{"imagefile":"ff97c1c91535ec0ce514a89771b42cb72a80054d.png","title":"Run","arg":"exec","subtitle":"Run sync setting"},{"imagefile":"6f9260d52d829403a16e01d6b359c4cffdb87011.png","title":"Add","arg":"add","subtitle":"Add sync setting"},{"imagefile":"6f9260d52d829403a16e01d6b359c4cffdb87011.png","title":"Search&Add","arg":"search_add","subtitle":"Search folder in Alfred and add"},{"imagefile":"39846b126735c587ac31ca23f095119cc81014f9.png","title":"Delete","subtitle":"Delete sync setting"}] - keyword - rsync - matchmode - 0 - runningsubtext - - subtext - sync Source to Target Folders - title - Rsync - withspace - - - type - alfred.workflow.input.listfilter - uid - 96FF18B1-25F2-4851-B9BC-8E0980B6A1BB - version - 1 - - - config - - availableviaurlhandler - - triggerid - *rsync - - type - alfred.workflow.trigger.external - uid - A59377F6-960B-4E5D-BA12-69E3C3FCB139 - version - 1 - config @@ -646,17 +672,46 @@ config - argument + argumenttrimmode + 0 + argumenttype + 1 + fixedorder + + items + [{"imagefile":"ff97c1c91535ec0ce514a89771b42cb72a80054d.png","title":"Run","arg":"exec","subtitle":"Run sync setting"},{"imagefile":"6f9260d52d829403a16e01d6b359c4cffdb87011.png","title":"Add","arg":"add","subtitle":"Add sync setting"},{"imagefile":"6f9260d52d829403a16e01d6b359c4cffdb87011.png","title":"Search&Add","arg":"search_add","subtitle":"Search folder in Alfred and add"},{"imagefile":"39846b126735c587ac31ca23f095119cc81014f9.png","title":"Delete","subtitle":"Delete sync setting"}] + keyword + rsync + matchmode + 0 + runningsubtext - passthroughargument + subtext + sync Source to Target Folders + title + Rsync + withspace + + + type + alfred.workflow.input.listfilter + uid + 96FF18B1-25F2-4851-B9BC-8E0980B6A1BB + version + 1 + + + config + + availableviaurlhandler - variables - + triggerid + *rsync type - alfred.workflow.utility.argument + alfred.workflow.trigger.external uid - DE49AD21-9430-4196-B3BA-383061F24A43 + A59377F6-960B-4E5D-BA12-69E3C3FCB139 version 1 @@ -909,6 +964,23 @@ version 1 + + config + + argument + + passthroughargument + + variables + + + type + alfred.workflow.utility.argument + uid + DE49AD21-9430-4196-B3BA-383061F24A43 + version + 1 + config @@ -968,46 +1040,6 @@ version 1 - - config - - lastpathcomponent - - onlyshowifquerypopulated - - removeextension - - text - {query} - title - Rsync - - type - alfred.workflow.output.notification - uid - 9C533762-4B08-4B26-B9A6-B4C0FEEC3513 - version - 1 - - - config - - externaltriggerid - *rsync - passinputasargument - - passvariables - - workflowbundleid - self - - type - alfred.workflow.output.callexternaltrigger - uid - A488CAAE-6A5D-4A4B-82B1-81B20558C49A - version - 1 - config @@ -1045,29 +1077,6 @@ version 1 - - config - - concurrently - - escaping - 0 - script - - scriptargtype - 1 - scriptfile - rsync_config.py - type - 8 - - type - alfred.workflow.action.script - uid - F49DACAA-9991-41FC-B17A-2493F92ECB03 - version - 2 - config @@ -1115,6 +1124,69 @@ version 3 + + config + + concurrently + + escaping + 0 + script + + scriptargtype + 1 + scriptfile + rsync_config.py + type + 8 + + type + alfred.workflow.action.script + uid + F49DACAA-9991-41FC-B17A-2493F92ECB03 + version + 2 + + + config + + lastpathcomponent + + onlyshowifquerypopulated + + removeextension + + text + {query} + title + Rsync + + type + alfred.workflow.output.notification + uid + 9C533762-4B08-4B26-B9A6-B4C0FEEC3513 + version + 1 + + + config + + externaltriggerid + *rsync + passinputasargument + + passvariables + + workflowbundleid + self + + type + alfred.workflow.output.callexternaltrigger + uid + A488CAAE-6A5D-4A4B-82B1-81B20558C49A + version + 1 + config @@ -1170,9 +1242,13 @@ Syncs Source and target folders from list of pre-defined source/target folder pairs. -## Usage +## Configure Workflow + +* `Show rsync log`: If this option is checked, the workflow will open the rsync log after the execution in default text editor -* `rsync` execute rsync definitions as well as remove entries +## Usage +* To add a folder, search for the folder in Alfred and enter into file actions. Search for `Add source folder for rsync` +* `rsync` execute rsync definitions as well as add/ remove entries uidata 0FFA85AA-DBC9-4C03-86E6-EC2C0C63034F @@ -1180,190 +1256,224 @@ Syncs Source and target folders from list of pre-defined source/target folder pa xpos 645 ypos - 110 + 250 200F326D-0329-4F35-A754-3BA8C9875C25 xpos 885 ypos - 280 + 420 2989DB38-0EA7-4518-9295-F44265E7A353 xpos 890 ypos - 560 + 700 2A2EA53F-6723-4B5E-893A-1D0A58DFBA0F xpos 640 ypos - 555 + 695 430DC473-DF94-4B22-BA7D-85F2749148E4 xpos 645 ypos - 415 + 555 + + 478188EC-E7D2-4275-AED2-EB781CB4E0A7 + + xpos + 1380 + ypos + 160 4A4AC872-88D0-439A-9B51-F463348654EA xpos 1150 ypos - 160 + 300 + + 4CF5E047-F30C-44E6-9C25-59F738289DE1 + + xpos + 1185 + ypos + 190 561445B8-E5D6-4AB5-9C0E-0C5B828580F8 xpos 1150 ypos - 280 + 420 5AA1A9FD-1039-4E9A-B393-BD824984DBCF xpos 820 ypos - 590 + 730 6026C421-22D8-41D8-B3FA-41BC9CB1E077 xpos - 1845 + 1145 ypos - 95 + 15 67518518-A5CF-43A5-B141-81106FDB7B29 xpos 885 ypos - 160 + 300 69A56460-BCA0-4E7C-AC44-5B55E9640FEA xpos 540 ypos - 570 + 725 7645B3DA-583E-47C2-83BA-DC4FD8432EEB xpos 375 ypos - 215 + 355 78A4CA56-EB82-49E5-B864-B7785F302268 xpos 820 ypos - 130 + 270 7F3CBA92-478D-4B9C-BBFF-8D43AD6006EF xpos 645 ypos - 280 + 420 8FFAC222-2EF0-40E5-93E7-EA7DAD8A2819 xpos 540 ypos - 140 + 280 96FF18B1-25F2-4851-B9BC-8E0980B6A1BB xpos 185 ypos - 210 + 365 9C533762-4B08-4B26-B9A6-B4C0FEEC3513 xpos - 1690 + 1685 ypos - 565 + 830 A3B353DA-0C9D-4832-B0ED-8333ADDCA841 xpos 805 ypos - 700 + 840 A488CAAE-6A5D-4A4B-82B1-81B20558C49A xpos 1855 ypos - 565 + 830 A59377F6-960B-4E5D-BA12-69E3C3FCB139 xpos 30 ypos - 210 + 365 B7553D66-32BA-4C0F-B449-8DA562FF1A56 xpos 645 ypos - 680 + 820 CD4553E6-DF4D-4EBC-A37A-137DF801D01C xpos 545 ypos - 710 + 850 D71FD347-8255-45AE-BD43-76963428AC51 xpos 820 ypos - 310 + 450 DE49AD21-9430-4196-B3BA-383061F24A43 xpos 540 ypos - 265 + 450 EA9A65B5-FBD7-4B5D-8A69-0CC9CD2017AD xpos 1075 ypos - 310 + 450 F49DACAA-9991-41FC-B17A-2493F92ECB03 xpos 1500 ypos - 680 + 830 userconfigurationconfig - + + + config + + default + + required + + text + Show rsync log + + description + Show rsync log once finished + label + + type + checkbox + variable + show_log + + variablesdontexport version - 1.5.0 + 1.6.0 webaddress diff --git a/src/rsync_config.py b/src/rsync_config.py index ab5f769..e73fd1c 100644 --- a/src/rsync_config.py +++ b/src/rsync_config.py @@ -2,7 +2,7 @@ import sys -from Alfred3 import Items, Tools +from Alfred3 import Tools from Rsync import Config Rs = Config()