• ihf

    It looks like the iPad is running Synchronator v1.8 (works) and iPhone has v1.11 (crashes).

    posted in Pythonista read more
  • ihf

    It's interesting that I never installed requests, certifi, idna, or chardet on the iPad yet Synchronator runs fine. On the iPhone those installs seem to be necessary, yet it crashes.

    posted in Pythonista read more
  • ihf

    OK, I deleted the site-packages version of requests and did all of the installs per @markhamilton1 and now Synchronator runs for a bit and then crashes with:

    Traceback (most recent call last):
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents//site-packages-2/Synchronator/Synchronator.py", line 403, in <module>
    check_remote(dbx, state)
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents//site-packages-2/Synchronator/Synchronator.py", line 282, in check_remote
    state.execute_delta(dbx)
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents//site-packages-2/Synchronator/Synchronator.py", line 152, in execute_delta
    self.__process_remote_entries(results.entries, current_remote_file_paths)
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents//site-packages-2/Synchronator/Synchronator.py", line 242, in __process_remote_entries
    self.download_remote(dbx, entry_path, '-- Not Found Locally')
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents//site-packages-2/Synchronator/Synchronator.py", line 139, in download_remote
    result = dbx.files_download_to_file(path, os.path.join('/', path))
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents/site-packages-2/dropbox/base.py", line 1175, in files_download_to_file
    None,
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents/site-packages-2/dropbox/dropbox.py", line 296, in request
    user_message_locale)
    dropbox.exceptions.ApiError: ApiError('1905da0107ff33cb011b4305be613b5f', DownloadError(u'path', LookupError(u'not_found', None)))

    posted in Pythonista read more
  • ihf

    Yes, I thought I had all the correct versions installed but I just redid some and now the iPad can run Synchronator just fine. However, on the iPhone I redid some installs and now there is a problem with 'import requests' in that it seems to be missing chardet. If I try pip update chardet or pip install chardet, I get the message No module Chardet. Catch-22?

    posted in Pythonista read more
  • ihf

    I have successfully been using Synchronator for sometime now but recently I started to have a problem on my iPhone with version 1.8. I downloaded the latest version 1.11 and now I am getting a different error. Can someone help me diagnose the problem?


    • Dropbox File Syncronization      *
      

    Loading Local State

    Cannot Find State File -- Creating New Local State

    Updating From Dropbox
    Traceback (most recent call last):
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents/Synchronator/Synchronator.py", line 403, in <module>
    check_remote(dbx, state)
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents/Synchronator/Synchronator.py", line 282, in check_remote
    state.execute_delta(dbx)
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents/Synchronator/Synchronator.py", line 149, in execute_delta
    results = dbx.files_list_folder(path='', recursive=True)
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents/site-packages-2/dropbox/base.py", line 1618, in files_list_folder
    None,
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents/site-packages-2/dropbox/dropbox.py", line 274, in request
    timeout=timeout)
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents/site-packages-2/dropbox/dropbox.py", line 365, in request_json_string_with_retry
    timeout=timeout)
    File "/private/var/mobile/Containers/Shared/AppGroup/A7D4C56F-A77A-4D88-87AC-A52286C0CF04/Pythonista3/Documents/site-packages-2/dropbox/dropbox.py", line 449, in request_json_string
    timeout=timeout,
    File "/var/containers/Bundle/Application/A44E8EB4-608D-4EBA-A6D7-8A2F5E7B7D3C/Pythonista3.app/Frameworks/Py2Kit.framework/pylib/site-packages/requests/sessions.py", line 505, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
    File "/var/containers/Bundle/Application/A44E8EB4-608D-4EBA-A6D7-8A2F5E7B7D3C/Pythonista3.app/Frameworks/Py2Kit.framework/pylib/site-packages/requests/sessions.py", line 462, in request
    resp = self.send(prep, **send_kwargs)
    File "/var/containers/Bundle/Application/A44E8EB4-608D-4EBA-A6D7-8A2F5E7B7D3C/Pythonista3.app/Frameworks/Py2Kit.framework/pylib/site-packages/requests/sessions.py", line 574, in send
    r = adapter.send(request, **kwargs)
    File "/var/containers/Bundle/Application/A44E8EB4-608D-4EBA-A6D7-8A2F5E7B7D3C/Pythonista3.app/Frameworks/Py2Kit.framework/pylib/site-packages/requests/adapters.py", line 371, in send
    timeout=timeout
    File "/var/containers/Bundle/Application/A44E8EB4-608D-4EBA-A6D7-8A2F5E7B7D3C/Pythonista3.app/Frameworks/Py2Kit.framework/pylib/site-packages/urllib3/connectionpool.py", line 566, in urlopen
    timeout_obj = self._get_timeout(timeout)
    File "/var/containers/Bundle/Application/A44E8EB4-608D-4EBA-A6D7-8A2F5E7B7D3C/Pythonista3.app/Frameworks/Py2Kit.framework/pylib/site-packages/urllib3/connectionpool.py", line 309, in _get_timeout
    return Timeout.from_float(timeout)
    File "/var/containers/Bundle/Application/A44E8EB4-608D-4EBA-A6D7-8A2F5E7B7D3C/Pythonista3.app/Frameworks/Py2Kit.framework/pylib/site-packages/urllib3/util/timeout.py", line 155, in from_float
    return Timeout(read=timeout, connect=timeout)
    File "/var/containers/Bundle/Application/A44E8EB4-608D-4EBA-A6D7-8A2F5E7B7D3C/Pythonista3.app/Frameworks/Py2Kit.framework/pylib/site-packages/urllib3/util/timeout.py", line 98, in init
    self._connect = self._validate_timeout(connect, 'connect')
    File "/var/containers/Bundle/Application/A44E8EB4-608D-4EBA-A6D7-8A2F5E7B7D3C/Pythonista3.app/Frameworks/Py2Kit.framework/pylib/site-packages/urllib3/util/timeout.py", line 128, in _validate_timeout
    "int or float." % (name, value))
    ValueError: Timeout value connect was Timeout(connect=30, read=30, total=None), but it must be an int or float.

    posted in Pythonista read more
  • ihf

    After searching for the callsign w2aee, the result set from:

    csdata=soup.find_all('td',id='csdata')

    gives

    [<td id="csdata" valign="top">
    <span class="csignmg hamcall">W2AEE</span> <span class="ml4 cland">
    <span class="ptr" onclick="window.location='https://www.qrz.com/atlas?dxcc=291'"><img alt="USA flag" id="flg" src="https://s3.amazonaws.com/files.qrz.com/static/flags-iso/flat/32/US.png" title="DX Atlas for: USA"/> <span style="position:relative;top:-8px;">USA</span></span></span><br/>

    <p class="m0"> COLUMBIA UNIVERSITY AMAT RAD CLUB<span class="csgnl none">, W2AEE</span><br/>144 Washburn Rd<br/>Briarcliff Manor, NY 10510<br/>USA</p>
    <p class="mt05 f9" style="font-weight:normal"></p>

    <p class="mt05 f9 fi"> Email: <span id="qem" onclick="showqem();" onmouseover="showqem();">Use mouse to view..</span>
    </p>
    <p class="m0 f8">
    <span class="green">Page managed by <a href="https://www.qrz.com/db/KD2DDT">KD2DDT</a></span> <span class="ml1">Lookups: 5677</span>
    <input class="ml1" onclick="shlabel()" type="button" value="Label"/>
    </p>
    </td>]

    What is the best way to parse this for the name and address? HTMLParser, BeautifulSoup, or just string functions? (I tried feeding this as a string to an HTMLParser instance and got no output).

    posted in Pythonista read more
  • ihf

    @jonb You’ve done it again! Thank you. I ran the script and viewed the result using a webview (just to see it) and I am indeed logged in; however, the search does not appear to be executing. No error message, it is just sitting at the advanced search screen after login. If I repeat the search post, it does the search and I get the desired results. Thank you again..you always make it look easy but I know it would have taken me a long time to get it right.

    posted in Pythonista read more
  • ihf

    Here are the inputs and buttons that will need to be programmed:

    <input class="form-control" id="username" name="username" placeholder="Enter your callsign or username" value="" type="text”>

    <button type="submit" class="btn btn-primary" style="width: 100%">Next</button>

    <input class="form-control" id="password" name="password" placeholder="Password" type="password”>

    <button type="submit" class="btn btn-primary" style="width: 100%">Sign In</button>

    A page comes up briefly which says wait … and then it goes back to the main page (not sure if this complicates matters)

    The search is then done:

    <input autocomplete="off" id="tquery" name="tquery" maxlength="60" value="" placeholder="Enter Query..." type="text”>

    <input id="tsubmit" value="Search" type="submit">

    it is the resulting page that I need to capture.

    posted in Pythonista read more
  • ihf

    If it would help, I can send logs from the browser inspector tool (not sure how but surely there is a way).

    posted in Pythonista read more
  • ihf

    @mikael I merely want to do a search by callsign which is on the upper left side of the main web page. However unless you can login the result is very limited. If you click on login you will be taken to qrz.com/login and you will then need to enter a username followed by the next button which takes you to a similar page to enter your password and a button to click to login. It is then that the search can be done which will result in a more detailed response. If you could help get me through login (even without proper credentials), I could probably take it from there

    posted in Pythonista read more

Internal error.

Oops! Looks like something went wrong!