Outliner with drag/drop reordering - part 2
@ccc thanks for the advice
@ihf I try, in a shortcut on my Apple Watch, to get the list of files of a iCloud shortcuts sub-folder, and, as said previously, action "get folder content" does not work. I just tried an action "run Pyto code" with os.listdir() but it also returns None... on the Watch but is ok on my iPad.
If I want to write a shortcut/Pyto_code, I need to get the full file name, it is annoying.
@ihf I have a little shortcut with an included Pyto code, with these actions:
- Set fixed file name of outline file to be appended
- Ask text to append
- Run Pyto code which will append text to specified outline, without
- changing file name
- updating .prm with last updated file
- changing 2022 event's notes with full file
Not sure this could help you as I can't find myself the full file name because Apple Watch is not authorized to get a list of files of a sub-folder even in shortcuts folder.
If you want to try, this is the shortcut but you have to set manually the full file name.
@ihf I don't know if you want to try this shortcut.
If yes, create subfolder Outlines in ICloudDrive/Shortcuts folder and copy there an outline file.
Type its name (without .outline) in shortcut first text action.
And run shortcut on your watch.
After, you can always check the modified outline in outline.py by setting current path to this path and open the outline.
And please give some feedback
@cvp I haven’t tested the shortcut yet. I just got a new iPhone 13 Pro and have been busy trying to get everything working from my old iPhone. I’ve noticed a problem when running Pythonista and the outline script. Touching the Close X in the left corner or the menu item is hit or miss. I’m not sure you could do anything about it as it may just be a problem with Pythonista on this new phone but I thought I’d let you know.
Touching the Close X in the left corner or the menu item is hit or miss
Not understood, sorry. I'll wait for more info.
@cvp On the iPhone 13, I have found that when I try to touch one of the menu items (e.g., the X to terminate the script), it does not recognize the touch. After several tries, I can get it to work but it is as if the menu bar is too high or the coordinates for the touch are not right for this phone.
@ihf Sorry but I sincerely don'T know what I could do. If the button is visible, how is it possible that the touch area could not be correct.
@cvp I agree but there it is.
@cvp the outline name is actually in the area at the top that ios places its icons for networks and the time and the battery. It could be an ios bug on the iphone 13. This was never an issue on the old iphone.
@ihf I guess that I'm responsible for the problem. The script displays outline name and undo button at 10 pixels from the screen top. And that is obviously not compatible with a device having a notch. I don't have this kind of device (only iPad Air 4 and iPhone SE2) thus I've never remarked a problem.
As you got an iPhone 13Pro as Xmas present, I'll have to quickly develop a new version supporting it 😂.
I'll foresee to not display anything in the safe area of the iDevice. You'll see that even the TableView will be limited just above the horizontal line at bottom.
But Pythonista fullscreen overrides the whole screen.
Wait until my evening.
@cvp I guess all the complaints about the notch were related to more than just aesthetics.
Version V01.32 - support all versions of iDevices, taking in account their "Safe Area" to display buttons and items
Hoping feed-back after tests with all your devices. If it works (even when turning your device), it could be my Xmas present.
My last problem has been turning the device when dates are displayed because the TableView has also been moved down to display date title.
@cvp That works perfectly on my iPhone 13. Best wishes for a Happy and Healthy (covid-free) 2022! And thank you so much for all of your work on outline!
@ihf thank you for your good wishes. In my turn, I wish you that 2022 will be wonderful for you and your loved ones. No thanks for outline, you are a very appreciated customer 😂
I haven’t tested the shortcut yet
Could you try?
@cvp After moving an outline file into the correct place and putting the name in the shortcut, I run the shortcut and it runs without error but I don’t see anything being added to the file. I’m not sure it’s actually running the Pyto script. I will play around some more
@ihf The best way to test it is first to test the shortcut on your iDevice before testing on Watch.
Then, in the action "run Pyto code", set "open console" switch ON.
Of course, Pyto has to be installed on your Watch
@cvp I had .outline on the filename in the shortcut. I removed it and now pyto says:
Traceback (most recent call last): File "Library/Caches/Shortcuts.py", line 89 , in <module> with open(path+file,mode='rt', encoding=' utf-8', errors="surrogateescape") as filc: PermissionError: [Errno 1] Operation not perm itted: '/private/var/mobile/Library/Mobile Do cuments/iCloud~is~workflow~my~workflows/Docum ents/Outlines/ToDo_20211221_171407.outline' Exception in thread Thread-5: Traceback (most recent call last): >>> File "Library/python38/threading.py", l ine 932, in _bootstrap_inner self.run() File "Pyto.app/scripts_runner.py", line 51, in run super().run() File "Library/python38/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "<string>", line 18, in complete File "Pyto.app/Lib/rubicon/objc/api.py", li ne 651, in __getattr__ raise AttributeError( AttributeError: rubicon.objc.api.ObjCClass Py to.EditorViewController has no attribute code ToComplete ```
@ihf you are sure that
Outlines/ToDo_20211221_171407.outlineExists in iCloudDrive/Shortcuts
And you have to define Shortcuts in the accessible folders of Pyto