Page MenuHomePhabricator

chunked uploading: failing when meeting upload warnings with ignore_warnings an iterable/callback
Closed, DuplicatePublic

Description

When an upload warning is returned from server, with ignore_warnings an iterable/callback , the following code is executed:

if 'warnings' in data and not ignore_all_warnings:
    if callable(ignore_warnings):
        if 'offset' not in data:
            data['offset'] = True
        if ignore_warnings(create_warnings_list(data)):
            # Future warnings of this run can be ignored
            ignore_warnings = True
            ignore_all_warnings = True
            offset = data['offset']
            continue
        else:
            return False
    result = data
    if 'offset' not in result:
        result['offset'] = 0
    break

However, when when data['offset'] = True and the file key is set error is raised:

[2016-03-10 09:01:36,373: WARNING/Worker-8] frame=39385 fps=3.5 q=0.0 size=  299250kB time=00:26:15.89 bitrate=1555.6kbits/s
[2016-03-10 09:01:36,404: WARNING/Worker-6] frame=33827 fps=2.6 q=0.0 size=  407421kB time=00:22:33.60 bitrate=2465.7kbits/s
[2016-03-10 09:01:36,434: WARNING/Worker-4] frame=38402 fps= 14 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
[2016-03-10 09:01:36,754: WARNING/Worker-1] frame= 7313 fps=2.0 q=0.0 size=  129775kB time=00:04:53.07 bitrate=3627.4kbits/s
[2016-03-10 09:01:36,759: WARNING/Worker-16] frame=72339 fps= 27 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
[2016-03-10 09:01:36,870: INFO/Worker-3] Sleeping for 3.9 seconds, 2016-03-10 09:01:36
[2016-03-10 09:01:36,898: WARNING/Worker-9] frame=67361 fps= 13 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
[2016-03-10 09:01:37,001: WARNING/Worker-4] frame=38412 fps= 14 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
[2016-03-10 09:01:37,095: WARNING/Worker-8] frame=39387 fps=3.5 q=0.0 size=  299291kB time=00:26:15.98 bitrate=1555.7kbits/s
[2016-03-10 09:01:37,204: WARNING/Worker-6] frame=33829 fps=2.6 q=0.0 size=  407468kB time=00:22:33.70 bitrate=2465.8kbits/s
[2016-03-10 09:01:37,278: WARNING/Worker-16] frame=72356 fps= 27 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
--
[2016-03-10 09:01:41,413: WARNING/Worker-16] frame=72500 fps= 27 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
[2016-03-10 09:01:41,436: WARNING/Worker-1] frame= 7323 fps=2.0 q=0.0 size=  130053kB time=00:04:53.46 bitrate=3630.3kbits/s
[2016-03-10 09:01:41,670: WARNING/Worker-8] frame=39399 fps=3.5 q=0.0 size=  299506kB time=00:26:16.49 bitrate=1556.3kbits/s
[2016-03-10 09:01:41,709: WARNING/Worker-9] frame=67446 fps= 13 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
[2016-03-10 09:01:41,830: WARNING/Worker-4] frame=38483 fps= 14 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
[2016-03-10 09:01:41,906: WARNING/Worker-3] API error badparams: Cannot supply a filekey when offset is 0
[2016-03-10 09:01:41,909: VERBOSE/Worker-3] API Error: query=
u"{u'ignorewarnings': [True], u'maxlag': ['5'], u'format': [u'json'], u'filekey': [u'13v7mibiie0c.6mtwts.14108.webm'], u'stash': [True], u'filename': [u'\\u0413\\u0415\\u041d\\u0418\\u0419, \\u043a\\u043e\\u0442\\u043e\\u0440\\u043e\\u0433\\u043e \\u0436\\u0434\\u0451\\u0442 \\u041d\\u041e\\u0412\\u041e\\u0420\\u041e\\u0421\\u0421\\u0418\\u042f.webm'], u'assert': [u'user'], u'token': [u'6b8db<REDACTED>56e137e1+\\\\'], u'filesize': [386899197], u'offset': [True], u'action': [u'upload']}"
[2016-03-10 09:01:41,909: VERBOSE/Worker-3]            response=
{u'servedby': u'mw1138', u'error': {u'info': u'Cannot supply a filekey when offset is 0', u'code': u'badparams', u'help': u'See https://commons.wikimedia.org/w/api.php for API usage'}}