Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gives me an error after 266 translations #9

Closed
eoehri opened this issue Nov 23, 2016 · 10 comments
Closed

Gives me an error after 266 translations #9

eoehri opened this issue Nov 23, 2016 · 10 comments

Comments

@eoehri
Copy link

eoehri commented Nov 23, 2016

After 266 translation calls (in a for-loop) I get always the following error (it's always exactly 266). Do you know why?

Traceback (most recent call last):
  File "/Users/username/PycharmProjects/Translation/GoogleTranslator.py", line 52, in <module>
    review_trans = translate(review, 'en')
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/mtranslate/core.py", line 70, in translate
    page = urllib.request.urlopen(request).read().decode("utf-8")
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 163, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 472, in open
    response = meth(req, response)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 582, in http_response
    'http', request, response, code, msg, hdrs)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 510, in error
    return self._call_chain(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 444, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 590, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
@mouuff
Copy link
Owner

mouuff commented Nov 24, 2016

I can't debug with only the error traceback, I need the exact request you have made,

@eoehri
Copy link
Author

eoehri commented Nov 25, 2016

I get the date from a sql table, translate the strings in "topic" and "review" and store it back in a new table. After exactly 266 calls of translate() I keep getting the traceback error. Thanks for your help!

for (topic, review) in DBcursor:

     topic_trans = translate(topic, 'en')
     review_trans = translate(review, 'en')

     add_translation = ("INSERT INTO table_de_en(topic, review)"
                             "VALUES (%s, %s)")
     translation_data = (topic_trans, review_trans)
     DBcursor2.execute(add_translation, translation_data)
     database.commit()     

@mouuff
Copy link
Owner

mouuff commented Nov 25, 2016

I need the request, I can't debug with that
print "topic" and "review" before it crash

@eoehri
Copy link
Author

eoehri commented Nov 26, 2016

topic:

Spotify vs Apple Music

review:

Mal ein kurzer Vergleich der beiden Streaming-Anbieter, ich habe für beide ein Abo. Grundsätzlich sind beide Services aus meiner Sicht sehr gut und die Unterschiede sind finde ich nicht groß.

Pro & Contra

Apple Music:

  • Exklusive Vorab-Releases (z.B. Drake, Travis Scott)
  • Schnellerer Zugriff auf zuletzt hinzugefügte Alben
  • Bessere Einbettung in iOS
  • Alte Musiksammlung und Songs aus Apple Music in einer App
  • Sehr seltsames Warteschlangen-System (Wenn man Lieder aus einem Album abspielt, und dann ein Lied zu "Später wiedergeben" hinzufügt, wird es erst nach Durchlauf des Albums abgespielt anstatt nach der selbst gemachten Warteschlange)
  • Komplettes Durcheinander-Würfeln meiner ursprünglichen Musiksammlung durch die Synchronisierung mit Apple Music (nur beim Aktivieren von Apple Music): falsche Album-Cover, viele Lieder als "nicht verfügbar" angezeigt, meine ganze Mediathek war nicht mehr offline verfügbar. Musste ich mühsam beheben.
  • Keine Unterscheidung von Singles und Alben auf den Künstlerseiten. Kann ich nicht nachvollziehen und macht die Künstlerseiten finde ich viel unübersichtlicher.
  • fragwürdiges Design (v.a. die übergroße Schrift)

Spotify:

  • Sehr nice öffentliche Playlists für fast jeden Anlass und/oder Genre!
  • Insgesamt sehr schön designed, logischer und einfacher Aufbau der App, kaum Bugs
  • Übersichtlichere Künstlerseiten
  • Unnötige Funktionen: Dein Mix der Woche, Dein Mixtape, Podcasts
  • Keine Unterscheidung von Mixtapes und Alben auf den Künstlerseiten
  • Wenn man offline ist, werden viele Albumcover nicht im Sperrbildschirm angezeigt. Kann ich gar nicht nachvollziehen, so viel Speicher verbrauchen die jetzt auch nicht.

Insgesamt kann ich beide Musik-Streaming-Dienste sehr empfehlen.
Wer seine bisherige Musiksammlung in einer App zusammen mit den Musik-Streaming-Downloads haben will, der sollte Apple Music benutzen. Es erfordert wie gesagt jedoch einiges an Aufwand, nach der Aktivierung von Apple Musik alles wieder in Ordnung zu bringen.
Wer kein Problem mit einer separaten App hat, kann mit Spotify eigentlich nichts falsch machen.

The bullets are either "+" or "-", but got converted here.

@mouuff
Copy link
Owner

mouuff commented Nov 28, 2016

I believe the request is too long,
it works while splitting your request, I m looking into it

@mouuff
Copy link
Owner

mouuff commented Nov 28, 2016

I think the best way is to limit the request size for now, I wont split the requests in the module, it will cause translation errors.

The way to fix that is too change the request method, from GET to POST, I can't do that for now,

@varunbalupuri
Copy link

The way to fix that is too change the request method, from GET to POST, I can't do that for now

Is this confirmed? At around >8000 characters with a GET or a POST request it returns HTTP error 413. Perhaps this is no longer the case now.

@mouuff
Copy link
Owner

mouuff commented May 13, 2018

yes this is still a problem, and yes the problem is caused by a payload too large

@varunbalupuri
Copy link

OP is getting 400 error, not 413, and my how do you know that changing to POST increasese this character limit? My tests indicate otherwise.

@mouuff
Copy link
Owner

mouuff commented May 14, 2018

I haven't tried but that should do it.
here is why:
in POST the data is stored in the body
in GET the data is stored in the url (which causes the limitation I believe)
https://www.w3schools.com/tags/ref_httpmethods.asp

@mouuff mouuff closed this as completed Nov 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants