omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    Method to download gists to pythonista that currently works

    Pythonista
    3
    12
    6806
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • robopu
      robopu last edited by

      can anybody recommend / point me to a link of a gist download script that currently really works (ie will actually take the url of a gist copied from iphone safari and turn it into an actual file in pythonista)?

      i've finally got stash running and git clones of repos work fine but for some reason not downloading a gist at a given url (unless i'm doing something wrong)? curl didn't work and i forgot if i tried wget or not in stash as well.

      i just want to get up and running with this application in terms of integrating with relevant files already existing in git out there on the net. it's a catch 22 because the solutions that already exist are in git but which you can't git because you can't git from within pythonista natively. ;) once you get a reliable git tool my guess is things get easier :)

      fwiw, i've tried the solutions recommended on this link and neither seem to work regardless of whether i manually copy the link and manually run the script or run the script via the share sheet in safari.

      https://forum.omz-software.com/topic/3435/gist-file-retrieval/11

      https://gist.github.com/Mr-Coxall/7fbf6dc0ec3d83525f1944812ccce46f

      https://gist.github.com/jsbain/fcb3f42932dde9b0ff6c122893d1b230

      btw, i think one of the problems wiht one of the scripts is that it's written in python 2.x but when i try to run it from the share sheet it won't allow me to choose which interpreter i want to use? am i seeing this behavior correctly?

      thx!

      1 Reply Last reply Reply Quote 0
      • JonB
        JonB last edited by JonB

        savefile does still work, using the Pythonista 3 share sheet. it takes a few secs for the interpreter to start,but the starts. you share from the main gist page.

        Install Link

        1 Reply Last reply Reply Quote 0
        • robopu
          robopu last edited by robopu

          @JonB thx for followup.. i'm not sure i'm following the link you posted in the bottom of your reply. i would think i have no control over what the share sheet is sending to savefile.py.. so how do you know what is being set in the call back url from the share sheet in the first place? i'm curious because maybe that's part of the problem of why it's not working?

          i thought that regardless of whether i ran from the share sheet in the form of an x-callback or simply copied the url in safari and run the script manually when i switch back to pythonista with url in the clipboard, that the only argument to this script is the url of the gist? but it looks like a bunch more things are being populated in the link you pasted.

          also, perhaps i'm copying the wrong url?
          this is the link i'm highligting and copying before running the script?

          https://gist.github.com/omz/fb180c58c94526e2c40b

          by default what directory will savefile put the downloaded gist?

          fwiw, after spending a couple of days trying to get all this to work it would have been easier but not simple to just copy and paste the gist code in safari directly into a new pythonista file except for the fact that for some reason that "select all" is not allowed in safari gist text on my iphone7 which means i have to tediously drag to try and select everything past 1+ scrolls which often fails before i can actually copy!??

          thx for the help!

          1 Reply Last reply Reply Quote 0
          • JonB
            JonB last edited by JonB

            sorry, i just updated the link. it should spawn pythonista with a "run this script" box. run it, shich just copies savefile.py to documents. If you already copy/pasted it into a file, then you can skip that step.

            To use, you go to the gist page, this script doesnt use the clioboard, it uses safari address bar.

            go to a gist page, use the safari Share To button, then Run Pythonista Script.
            From the pythonista app extension that lanches, click Edit, then the Plus Sign, and choose savefile.py. The script looks at current safari address bar, and downloads the file on that page. If it is a gist or multipart gist, it downloads it to the Dicuments/gists/gistid folder, so as not to overwrite any existing files you have with that name.

            1 Reply Last reply Reply Quote 0
            • robopu
              robopu last edited by

              @JonB .. ok just to confirm..

              • i'm on the gist page..
              • this time i do NOT try and copy the url i simply click Share button in safari
              • then i click " Edit Scripts" which brings me to pythonista
              • in pythonista i don't have a + option like you mention but i see my filesave.py file right in my local directory listing in the file browser (probably b/c that's where i last was in pythonista) so i simply select the file which loads it into the editor
              • the script is just sitting there in the editor and does nothing on it's own so i click the "right arrow symbol" to run the program..

              when i do that i get this error in the console:

              Traceback (most recent call last):
                File "/private/var/mobile/Containers/Shared/AppGroup/50D9A78C-3AC4-470C-908E-FB2D1012D385/Pythonista3/Documents/gitsavefile.py", line 9, in <module>
                  urlfilename=unquote(unquote(urlparse(appex.get_url()).path.split('/')[-1]))
              TypeError: a bytes-like object is required, not 'str'
              

              so it looks like it's expecting bytes and not a string?

              thanks for the clarification on how the script was supposed to work?

              1 Reply Last reply Reply Quote 0
              • JonB
                JonB last edited by

                use the install link.
                then, from app extension, if you are editing a script, click back a few times untill you get to the main appex page. should have edit in upper left, and some icons below. you wNt to add savefile to the bottom icons.

                1 Reply Last reply Reply Quote 0
                • robopu
                  robopu last edited by robopu

                  @JonB sorry but unfortunately your install link for filesave is failing for some reason.. error is something about AttributeError __enter__ followed by .exec_from_url.py <module> (Line 13)

                  not sure what's going on.

                  also from your last reply "click back a few times untill you get to the main appex page. should have edit in upper left, and some icons below. you wNt to add savefile to the bottom icons." doesn't really look the same to me as you describe. maybe because i'm on an iphone7 vs ipad?

                  i'm not sure what the main "appex" page means unless that was spellchecked for " index" :), once there, i see "Edit" button but it's in top right vs left.. The icons below are simply my normal pythonista file browser listing with icons for folders and files with their appropriate names. python actualy opens the file filesave.py into this location but because of the script failure nothing actually gets written so that when you open it to run it, it's empty..

                  thx

                  1 Reply Last reply Reply Quote 0
                  • JonB
                    JonB last edited by

                    In the normal app extension, you should be able to edit scripts, but there is also a consols, and a menu somewhat like the wrench menu,where you can run scripts without having to open/edit them. Savefile wants to run from there (though it should work in the editor, except that I fear you may have accidentally edited something)

                    Can you try copying it again? Then try it one the gists above. (Just to rule out problems with the specific gist). I'll make some updates to give more detailed error messages.

                    1 Reply Last reply Reply Quote 0
                    • GoDzM4TT3O
                      GoDzM4TT3O last edited by

                      You can use GitHubGet and my version based on it, which only needs a github repo url and it will basically download it, it’s called iGotIt

                      1 Reply Last reply Reply Quote 0
                      • robopu
                        robopu last edited by

                        @JonB .. your link to copy filesave never worked. i tried it a number of times. the code runs, the file is created but it's empty. perhaps the path is not correct or i need a github token or something?

                        that said, by manually pasting the filesave script, i was eventually able to get this to run and it works downloading the gist i specified above! i confess, it took me a number of iterations to try and assign the script to an "appex action" thing or whatever it's called so that it showed up from the share sheet extension automatically but somehow it eventually did.

                        your instructions were different from what i saw on my iphone.
                        the wrench only appears when editing a file. once you click the wrench, you have an Edit button that allows you to add a blank "icon" with a plus in it. from there you choose the file to assign to the icon which then shows up one you drill back to pythonista from the share sheet.

                        anyway : just so i'm clear. for the share sheet to work correctly, do these icons assigned to pythonista scripts need to exist (ie it's the glue that the share sheet looks for)? or put another way do pythonista scripts only recognize the appex data when called in this way? because before i could assign the icon to the filesave script, when i share sheeted from safari back to pythonista it dropped me in the editor. if i then navigated to savefile and ran it manually, it didn't appear to be able to access the appex data of the last page i was on in safari. my guess is the answer is yes.. savefile needs to be tied to the icon which is what you call the appex extension??

                        thanks for being patient and following this through. much appreciated. i got it working just want to make sure i'm understanding the right process for interfacing with appex data via share sheet

                        1 Reply Last reply Reply Quote 0
                        • JonB
                          JonB last edited by

                          I'm not sure how the iPhone app extension looks, so not sure how it all works... Maybe you could post some screenshots somewhere.

                          I can't think of a reason why running the script in the editor gives a different behavior, though could be that the appex geturl returns something different. Some people have problems with the being dodgy.

                          JonB 1 Reply Last reply Reply Quote 0
                          • JonB
                            JonB @JonB last edited by

                            By the way, you could add a print (appex.get_url()) to the start of the script to test whether that is working in edit mode...

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Powered by NodeBB Forums | Contributors