User talk:Zhuyifei1999/Archive 37

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Photo of the year

Commons talk:Picture of the Year/2017/Help

Why am I bothering you? Because you made that page a redirect to Commons talk:Picture of the Year/2017 which as you can see from the contents is a bit of a problem. (so I removed the redirect) The whole contest seems broken. If it is not your thing I'll be happy to bring it to the VP though. (unless you can think of a better place to take it) - Alexis Jazz 12:22, 19 April 2018 (UTC)

I redirected it the opposite way. --Zhuyifei1999 (talk) 14:40, 19 April 2018 (UTC)

example

Give me an example of signing — Preceding unsigned comment added by وليد أنوس (talk • contribs) 10:15, 22 April 2018 (UTC)

--~~~~ => --Zhuyifei1999 (talk) 18:02, 22 April 2018 (UTC)

18:16, 23 April 2018 (UTC)

Multilingual captions testing is available

Greetings,

The early prototype for multilingual caption support is available for testing. More information on how to sign up to test is on Commons. Thanks, happy editing to you. - Keegan (WMF) (talk) 17:06, 24 April 2018 (UTC)

16:18, 30 April 2018 (UTC)

VisualFileChange mishap

I'm not sure whether that's a bug (ie my mistake) or a feature, but the images I mass-nominated for deletion via VisualFileChange got added to an old deletion discussion. Does that require cleanup, or should I just keep it as is so that people commenting can see that the same problem existed before? Huon (talk) 23:33, 1 May 2018 (UTC)

This is how DR worked since I've been here, so just keep it as is and it's okay. (another example from today) --Zhuyifei1999 (talk) 23:50, 1 May 2018 (UTC)

Disable SignBot now!

Or I will take whatever legal action is necessary against you. {{Nobots}} — Preceding unsigned comment was added by 92.40.249.179 (talk) 16:05, 1 May 2018 (UTC)

Hi

Please don’t spam on my talk page. File:IloveRumania (Signature 4).png Yes, I know my signature is a license plate. 03:10, 4 May 2018 (UTC) — Preceding unsigned comment added by IloveRumania (talk • contribs) 03:10, 4 May 2018 (UTC)

Wiki Loves Africa

The Wiki Loves Africa 2017 photographic contest is officially closed. Thank you all for your participation !

This year, the photographic competition has resulted in an amazing 18,294 image uploads to Commons around the theme People at Work.
International winners have been announced !!! Check it out on Commons:Wiki Loves Africa 2017/Winners. Congratulations to winners and all those who participated and organised events. More national winners are yet to be announced.
Please follow us on Facebook to know more and stay informed next year.

There are several fun ways you can help us to make the impact of Wiki Loves Africa stronger:

  • Add more categories to your images so that people will find them to use them in articles ... you can see how to do this here: Quick Guide to Categories on Commons
  • Improve the images description to make them easier to understand and reuse.
  • Add your image to a relevant Wikipedia article, i.e. if your image shows a tailor sewing, then add the image to an article on Sewing or Tailors - this allows readers to see different global perspectives of a universal subject. You can see how to do this here: How to insert images into Wikipedia using WikiText
  • If there is no article that reflects the subject of your images, then start an article about that subject. If you are a new editor, you can see how to do that here: Creating your first article
  • Add more images - you can add more images or media that reflect interesting and encyclopedic subjects in your immediate community.
  • Use the images produced during the contest. Here is a short link to the best ones : c:Category:Best images from Wiki Loves Africa 2017

We look forward to seeing your contributions!!

Warmest,

Anthere for the Wiki Loves Africa Team


Le concours Wiki Loves Africa 2017 est officiellement fermé. Merci d'avoir participé !
Cette année, le concours photo Wiki Loves Africa 2017 a permis l'ajout de 18,294 photos à Wikimedia Commons sur le thème Les gens au travail, une participation en très forte augmentation par rapport aux années précédentes.
Les gagnants ont été annoncés !!! Voir tous les résultats sur Commons:Wiki Loves Africa 2017/Winners. Félicitations aux gagnants mais aussi à tous les participants ainsi qu'aux organisateurs d'évènements. Des gagnants nationaux doivent encore être annoncés.
Suivez nos actualités sur Facebook pour en savoir plus et être informés du prochain concours.

Le projet se veut une célébration de la diversité visuelle de l'Afrique sur Wikipédia et ses projets frères. Vous pouvez augmenter l'impact de Wiki Loves Africa des façons suivantes:

  • Fournir d'avantage de photos !
  • Ajouter des catégories à vos images afin que les utilisateurs les trouvent plus facilement. Voici comment faire: Commons:Catégories.
  • Vous pouvez également améliorer les descriptions de vos images pour faciliter leur compréhension et leur réutilisation.
  • Ajouter vos images dans un article existant sur Wikipédia.
  • S'il n'existe aucun article correspondant à ce qu'illustre votre photo, pourquoi ne pas envisager de créer un nouvel article sur Wikipedia ?
  • Vous pouvez même rejoindre un groupe d'utilisateurs locaux. Vous pouvez trouver les groupes déjà existant ici: groupes Wikimedia en Afrique
  • Utilisez les meilleures images produites pendant le concours. Voici un lien vers les meilleures : c:Category:Best images from Wiki Loves Africa 2017

Merci encore pour vos contributions.

Anthere pour l'équipe Wiki Loves Africa.

مسابقة التصوير الفوتوغرافي ويكي تهوى إفريقيا 2017 رسميًا مغلقة . شكرا لكم على مشاركتكم !

في هذا العام ، أسفرت مسابقة التصوير الفوتوغرافي عن تحميلات مذهلة للصور بلغ عددها 18،294 إلى كومنز حول موضوع الناس في العمل.

تم الإعلان عن الفائزين الدوليين !!! شاهد ذلك على كومنز: ويكي تهوى إفريقيا 2017 / الفائزين. تهانينا للفائزين وجميع من شاركوا في الفعاليات التي نظمت. المزيد من الفائزين الوطنيين لم يعلن بعد. يرجى متابعتنا على فيسبوك لمعرفة المزيد من االأخبار والبقاء على اطلاع للسنة المقبلة .

هناك العديد من الطرق الممتعة التي يمكنك مساعدتنا في جعل ويكي تهوى إفريقيا أقوى تأثيرا:

  • أضف المزيد من التصانيف إلى صورك حتى يعثر عليها المستخدمون لإستعمالها في المقالات... يمكنك أن ترى كيفية القيام بذلك هنا: الدليل السريع التصانيف في كومنز
  • قم بتحسين وصف الصور لتسهيل فهمها وإعادة استخدامها.
  • أضف صورتك إلى مقالة في ويكيبيديا ذات صلة، أي إذا كانت صورتك تعرض خياطة مخصصة ، أضف الصورة إلى مقالة عن الخياطة أو الخياطة - وهذا يتيح للقراء رؤية مشاهد عالمية مختلفة لموضوع عالمي. يمكنك أن ترى كيفية القيام بذلك هنا: كيفية إدراج الصور في ويكيبيديا باستخدام ويكي نص
  • إذا لم تكن هناك مقالة تعكس موضوع صورك ، فقم ببدء مقال حول هذا الموضوع. إذا كنت محررًا جديدًا ، يمكنك مشاهدة كيفية القيام بذلك هنا: إنشاء مقالتك الأولى.
  • إضافة المزيد من الصور - يمكنك إضافة المزيد من الصور أو الوسائط التي تعكس مواضيع مثيرة للاهتمام وموسوعية في مجتمعك المباشر.
  • استخدم الصور المنتجة خلال المسابقة. هنا رابط قصير لأفضلها أفضل الصور من ويكي تهوى إفريقيا

نحن شغوفون إلى رؤية مساهماتك !!

تحياتنا ،

أنتير من فريق ويكي تهوى إفريقيا

16:27, 7 May 2018 (UTC)

Signbot

Why was https://commons.wikimedia.org/w/index.php?title=User_talk:Patrick_Rogel&diff=299980238&oldid=299679366 not signed? - Alexis Jazz 18:58, 9 May 2018 (UTC)

That page contains {{speedy, and the code blacklisted this. --Zhuyifei1999 (talk) 19:58, 9 May 2018 (UTC)
Maybe check if the character before {{ is no > (from a nowiki tag) and the character after speedy is not a w? - Alexis Jazz 00:56, 10 May 2018 (UTC)
I don't think there is many cases where this rule will hit. Doing nothing is sometimes better than doing something incorrectly. --Zhuyifei1999 (talk) 01:09, 10 May 2018 (UTC)
19,169 user talk pages SignBot won't work on. - Alexis Jazz 01:37, 10 May 2018 (UTC)
Why do you think there will be comments to the pages? {{Speedywhat}} no longer substitutes into {{Speedywhat/lang}} and active users should already got their old threads archived. --Zhuyifei1999 (talk) 01:43, 10 May 2018 (UTC)
I have searched a little more and it seems indeed this rarely if ever causes trouble, except on the page I asked about. I will ask Patrick to do something about it.. - Alexis Jazz 03:05, 10 May 2018 (UTC)

https://commons.wikimedia.org/w/index.php?title=Commons:Deletion_requests/File:VW_Cartoon_Age.jpg&diff=304066761&oldid=304060447

Less than 800 edits, no speedy, no opt-out. - Alexis Jazz ping plz 02:44, 3 June 2018 (UTC)

I think that's because DRs are neither in the talk namespace nor have __NEWSECTIONLINK__ in it, and the bot just doesn't know for sure that it's a talk page. I haven't able to figure out a good solution to this complexity, to determine whether a DR subpage is a DR of a file, or some listing page. --Zhuyifei1999 (talk) 04:08, 3 June 2018 (UTC)
Maybe just check if message from the user contains "{{Commons:Deletion requests/"? (you could also check if the page contains that, but that will give you false positives sometimes) Or if the edit summary contains "Listing"? Or check the page title for Commons:Deletion requests/[0-9/]*$ (or something like that)? - Alexis Jazz ping plz 04:28, 3 June 2018 (UTC)
I honestly prefer a false negative rather than a false positive. --Zhuyifei1999 (talk) 09:11, 3 June 2018 (UTC)
Yeah I was thinking I should have clarified that better.. I know of at least one DR talk page that includes some other DRs. But then, I created that, so it may be the only one. It would falsely identify positively as being a listing page, which for your purposes is a false negative. All the other ways I suggested are more precise. You could even combine them?
  • Do not sign if the edit summary contains "Listing"
  • Do not sign if the page title matches Commons:Deletion requests/[0-9/]*$
  • Do not sign if message from the user contains "{{Commons:Deletion requests/"
  • Do not sign if "{{Commons:Deletion requests/" is found anywhere on the page (would result in not signing on at least one talk page and there is really no need if you are already checking the user message for this)
- Alexis Jazz ping plz 12:48, 3 June 2018 (UTC)
Hmm. Will implement tomorrow. --Zhuyifei1999 (talk) 16:58, 3 June 2018 (UTC)
✓ Done https://gist.github.com/zhuyifei1999/49af65a7f07fa950a381171ea037135e/revisions#diff-a811b176d8c453bac70f97c5fb168c44R316. I was only able to implement the second and the fourth. The isDiscussion function has no knowledge of the comment or the diff. --Zhuyifei1999 (talk) 10:28, 4 June 2018 (UTC)
That was quick! I tested it as well [17] [18] and I think it's working. - Alexis Jazz ping plz 10:51, 4 June 2018 (UTC)

Page has suddenly got a huge pink box - the only related change I can find is Template:Lang - has this upset the page? Ronhjones  (Talk) 00:23, 10 May 2018 (UTC)

(talk page stalker) maybe related to Commons:Village pump#{{Support}} & Co. is broken for languages other than English. - Alexis Jazz 00:56, 10 May 2018 (UTC)
✓ Done Fixed --Zhuyifei1999 (talk) 01:01, 10 May 2018 (UTC)

22:22, 14 May 2018 (UTC)

broken template / help needed

Hi Zhuyifei1999, can you please have a look at {{Tiroler Kunstkataster}} and sub-templates, for example of usage see File:Haus_Schoeneck_-_Vorderansicht.jpg. While the text generated by the template was always written without link breaks, for some days now there are deliberate line breaks corrupting the text generated by the template. No transcluded template changed except {{Lang}} [21] (by you). Can you please have a check whether the <div> in {{Lang}} is necessary and if so, what has to be changed in my template? IMHO the <div> will prevent the inline use of {{Lang}}. @Braveheart: for information. regards --Herzi Pinki (talk) 16:56, 19 May 2018 (UTC)

Thanks for the ping, from looking at the html source it seems like the lang class is producing line breaks now that weren't there before. Braveheart (talk) 17:00, 19 May 2018 (UTC)
Zhuyifei1999, found a workaround (?) to cope with your change (it is documented, but I didn't RTFM first :-( ): [22], but I still consider this to be a dangerous change. regards --Herzi Pinki (talk) 17:08, 19 May 2018 (UTC)
Yes it is dangerous to change the default to div, but it is even worse to keep the default as span. The vast majority of templates use {{Lang}} in a div-live style instead of a span-like style, and they all have to be changed individually to not get wrecked by the Tidy replacement next month. --Zhuyifei1999 (talk) 23:18, 19 May 2018 (UTC)

Hi Zhuyifei1999, can you please care for {{Zabytek/layout}}, it is write-protected. regards --Herzi Pinki (talk) 06:55, 3 June 2018 (UTC)

✓ Done made it use div properly, hopefully --Zhuyifei1999 (talk) 09:12, 3 June 2018 (UTC)
would have expected tag=span as additional parameter to {{Lang}}, but your solution does also fix the problem. thanks --Herzi Pinki (talk) 09:19, 3 June 2018 (UTC)
I did it that way to prevent issues that may arise when {{{text|Empty}}} expands into a block element. --Zhuyifei1999 (talk) 11:09, 3 June 2018 (UTC)
Blocks are things like div p table, and inline are things like span a , and normal text. Inline inside block is okay; block inside inline is not. The latter usage will cause rendering errors in the very near future, once tidy is replaced with remuxhtml --Zhuyifei1999 (talk) 11:14, 3 June 2018 (UTC)

Embedded Data Bot

I am writing to let you know that for about four days the bot has been inserting the template twice, e.g. File:Wheat crop- Daharki-Sindh.jpg. --jdx Re: 07:28, 20 May 2018 (UTC)

I just restarted the RC-polling job. Hopefully that will fix it --Zhuyifei1999 (talk) 09:27, 20 May 2018 (UTC)

17:33, 21 May 2018 (UTC)

Program for extracting hidden data

Which program do you use to extract hidden information inside files? I would like to inspect some of the files I see WP0 uploading. Magog the Ogre (talk) (contribs) 01:49, 28 May 2018 (UTC)

(talk page stalker) @Magog the Ogre: Embedded Data Bot is on the job, I suggest further questions be private.   — Jeff G. ツ please ping or talk to me 02:00, 28 May 2018 (UTC)
@Magog the Ogre: If you see something like 'After 123KiB (123456 bytes, via Ending,Magic)' it is concatenation. The embedded file starts at byte #123456 (decimal), assuming the very first byte read is byte #0. A utility like en:Tail_(Unix) can extract it, or you can write a script that reads 123456 bytes and discard it, then reads the rest into a new extracted file. This is for the concatenated embedded data extraction given the offset. How the offset is found, I cannot reveal the method in detail in public. --Zhuyifei1999 (talk) 06:18, 28 May 2018 (UTC)

Robitaille

Why this pic (File:Luc Robitaille 2016.jpg) isn't accepted on commons? In general, why the licence cc-by-nd-2.0 isn't accepted here? Like we can share this picture, as long as it's not edited. --Super Bazooka (talk) 18:43, 27 May 2018 (UTC)

(talk page stalker) Because Commons licensing requirements requires that the creation of derivative works be allowed. Period. This is outlined in our licensing policy which can be found here: COM:L. The fact that you uploaded it knowing that it is not acceptable is not ok. Please do not do that again. Do not purposefully upload images that you know are not acceptable here. Continually doing so will result in the revocation of your editing privileges. I have marked the image for deletion. --Majora (talk) 19:28, 27 May 2018 (UTC)
I didn't even know that the cc-by-nd-2.0 licence isn't accepted here until I see the failed review on the file... --Super Bazooka (talk) 19:36, 27 May 2018 (UTC)

Nick Goepper Profile Photo

Hello i just uploaded a photo of Nick Goepper found on Flickr and has been reviewed by you. I have been trying to be really carefully about picking out legal safe pictures. Ihave seen many wikis with pictures from flickr that have been approved. If you use this link: https://www.flickr.com/photos/usolympicteam/12350995464/ to see the picture please scroll down almost to the bottom you will see: This photo is public All rights reserved This photo is safe (TO VIEW THIS PLEASE USE A MOBILE VERSION ON A SMARTPHONE) to read Thank you — Preceding unsigned comment added by Mart1443 (talk • contribs) 2018-05-26T02:49:22‎ (UTC)

"All rights reserved" are not acceptable. See COM:L --Zhuyifei1999 (talk) 03:17, 26 May 2018 (UTC)

12:40, 29 May 2018 (UTC)

Embedded data in PDF files

Please look at File:Test file iwill delet.pdf and File:PDFSigQFormalRep.pdf – most likely they contain embedded data and the bot didn't tag them. --jdx Re: 10:39, 6 June 2018 (UTC)

<rant>oh my god why does PDF file format have to **exist**.</rant> Looking... --Zhuyifei1999 (talk) 12:14, 6 June 2018 (UTC)
New examples caught by ABF's rule #166: File:New line of the street.pdf, File:The best aggents.pdf, File:Neew.pdf, File:13gdg.pdf and File:Stawsbaw.pdf. I suspect that soon we will see much more of these. --jdx Re: 04:13, 7 June 2018 (UTC)
Another example: File:Diwanr.pdf. --jdx Re: 04:20, 7 June 2018 (UTC)

After various modifications to the code, it looks like Matroska data being embedded inside.

[{'length': 3498, 'mime': ('text/plain', 'UTF-8 Unicode text, with CRLF, LF line terminators'), 'pos': 0}, {'length': 791, 'mime': ('text/plain', 'ASCII text, with very long lines'), 'pos': 0}, {'length': 1, 'mime': ('application/octet-stream', 'very short file (no magic)'), 'pos': 0}, {'length': 37675, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0}, {'length': 633, 'mime': ('text/plain', 'ASCII text'), 'pos': 0}, {'length': 1, 'mime': ('application/octet-stream', 'very short file (no magic)'), 'pos': 0}, {'length': 47334, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0}, {'length': 759, 'mime': ('text/plain', 'ASCII text'), 'pos': 0}, {'length': 723498681, 'mime': ('video/x-matroska', 'Matroska data'), 'pos': 0}, {'length': 25862, 'mime': ('application/octet-stream', 'data'), 'pos': 0}, {'length': 227, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0}, {'length': 161, 'mime': ('application/octet-stream', 'data'), 'pos': 0}, {'length': 191, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0}, {'length': 264, 'mime': ('application/octet-stream', 'data'), 'pos': 0}]

--Zhuyifei1999 (talk) 05:13, 7 June 2018 (UTC) The second file (zip)

[{'length': 489532702, 'mime': ('application/zip', 'Zip archive data, at least v1.0 to extract'), 'pos': 0}, {'length': 3498, 'mime': ('text/plain', 'UTF-8 Unicode text, with CRLF, LF line terminators'), 'pos': 0}, {'length': 148, 'mime': ('application/octet-stream', 'data'), 'pos': 0}, {'length': 227, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0}, {'length': 60, 'mime': ('application/octet-stream', 'data'), 'pos': 0}, {'length': 25862, 'mime': ('application/octet-stream', 'data'), 'pos': 0}, {'length': 791, 'mime': ('text/plain', 'ASCII text, with very long lines'), 'pos': 0}, {'length': 1, 'mime': ('application/octet-stream', 'very short file (no magic)'), 'pos': 0}, {'length': 37675, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0}, {'length': 633, 'mime': ('text/plain', 'ASCII text'), 'pos': 0}, {'length': 1, 'mime': ('application/octet-stream', 'very short file (no magic)'), 'pos': 0}, {'length': 47334, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0}, {'length': 759, 'mime': ('text/plain', 'ASCII text'), 'pos': 0}, {'length': 135, 'mime': ('application/octet-stream', 'data'), 'pos': 0}, {'length': 123, 'mime': ('application/octet-stream', 'data'), 'pos': 0}]

The third file (mp4):

[{'length': 3498, 'mime': ('text/plain', 'UTF-8 Unicode text, with CRLF, LF line terminators'), 'pos': 0}, {'length': 791, 'mime': ('text/plain', 'ASCII text, with very long lines'), 'pos': 0}, {'length': 1, 'mime': ('application/octet-stream', 'very short file (no magic)'), 'pos': 0}, {'length': 37675, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0}, {'length': 633, 'mime': ('text/plain', 'ASCII text'), 'pos': 0}, {'length': 1, 'mime': ('application/octet-stream', 'very short file (no magic)'), 'pos': 0}, {'length': 47334, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0}, {'length': 759, 'mime': ('text/plain', 'ASCII text'), 'pos': 0}, {'length': 661658647, 'mime': ('video/mp4', 'ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]'), 'pos': 0}, {'length': 25862, 'mime': ('application/octet-stream', 'data'), 'pos': 0}, {'length': 227, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0}, {'length': 147, 'mime': ('application/octet-stream', 'data'), 'pos': 0}, {'length': 191, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0}, {'length': 306, 'mime': ('application/octet-stream', 'data'), 'pos': 0}]

How many formats do I have to blacklist? sigh --Zhuyifei1999 (talk) 05:20, 7 June 2018 (UTC)

Yeah, size of these files suggests that there are videos embedded inside rather than archives with a software. BTW. As a temporary solution I have set up Special:AbuseFilter/203. --jdx Re: 05:25, 7 June 2018 (UTC)
Thanks for the filter. These are the stream attributes along with the mime that the bot generates:
#### Test file iwill delet.pdf
({'Subtype': /XML, 'Length': 3496, 'Type': /Metadata}, {'length': 3498, 'mime': ('text/plain', 'UTF-8 Unicode text, with CRLF, LF line terminators'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 333}, {'length': 791, 'mime': ('text/plain', 'ASCII text, with very long lines'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 17670, 'Length1': 37675}, {'length': 37675, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 329}, {'length': 633, 'mime': ('text/plain', 'ASCII text'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 19562, 'Length1': 47334}, {'length': 47334, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 368}, {'length': 759, 'mime': ('text/plain', 'ASCII text'), 'pos': 0})
>>>> ({'Filter': /FlateDecode, 'DL': 723498681, 'Params': {'Size': 723498681, 'CheckSum': '\x9e\xf4t\xbc\xa6\x0f\xc5\x03\xaa\x92\x08"E\xa0\x0b\x00', 'CreationDate': "D:20180606015717-07'00'", 'ModDate': 'D:20180606015604'}, 'Length': 725209019}, {'length': 723498681, 'mime': ('video/x-matroska', 'Matroska data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 9841, 'N': 14, 'Type': /ObjStm, 'First': 112}, {'length': 25862, 'mime': ('application/octet-stream', 'data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 190, 'N': 1, 'Type': /ObjStm, 'First': 4}, {'length': 227, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 145, 'N': 2, 'Type': /ObjStm, 'First': 9}, {'length': 161, 'mime': ('application/octet-stream', 'data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 153, 'N': 1, 'Type': /ObjStm, 'First': 5}, {'length': 191, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0})
({'DecodeParms': {'Predictor': 12, 'Columns': 6}, 'Info': <PDFObjRef:9>, 'Type': /XRef, 'Filter': /FlateDecode, 'Length': 134, 'W': [1, 4, 1], 'Root': <PDFObjRef:11>, 'ID': ['>V\xd9\xc0\xb0\xe3\xd1M\x8ci\xad\xf5\xa7\x00\xb2\xfd', '|\xbb\x0c\xdb\x83}\xcfA\x9d E\x00\\\xd67\xc0'], 'Size': 44}, {'length': 264, 'mime': ('application/octet-stream', 'data'), 'pos': 0})

#### PDFSigQFormalRep.pdf
>>>> ({'Filter': /FlateDecode, 'Subtype': /text/plain, 'DL': 489532702, 'Params': {'Size': 489532702, 'CheckSum': '@Ep\xf9{\xbb\xf7P\xc3\xb1\\_\xa8\xb6j\x81', 'CreationDate': "D:20180605234334-07'00'", 'ModDate': 'D:20180605231915'}, 'Length': 490367250}, {'length': 489532702, 'mime': ('application/zip', 'Zip archive data, at least v1.0 to extract'), 'pos': 0})
({'Subtype': /XML, 'Length': 3496, 'Type': /Metadata}, {'length': 3498, 'mime': ('text/plain', 'UTF-8 Unicode text, with CRLF, LF line terminators'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 133, 'N': 3, 'Type': /ObjStm, 'First': 14}, {'length': 148, 'mime': ('application/octet-stream', 'data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 187, 'N': 1, 'Type': /ObjStm, 'First': 4}, {'length': 227, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0})
({'DecodeParms': {'Predictor': 12, 'Columns': 6}, 'Info': <PDFObjRef:9>, 'Type': /XRef, 'Filter': /FlateDecode, 'Length': 54, 'W': [1, 4, 1], 'Root': <PDFObjRef:11>, 'ID': ['>V\xd9\xc0\xb0\xe3\xd1M\x8ci\xad\xf5\xa7\x00\xb2\xfd', '\xee\x12\xbb\xf5u\x0b(A\xa8\x87\x06>0A"\xd3'], 'Size': 10}, {'length': 60, 'mime': ('application/octet-stream', 'data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 9841, 'N': 14, 'Type': /ObjStm, 'First': 112}, {'length': 25862, 'mime': ('application/octet-stream', 'data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 333}, {'length': 791, 'mime': ('text/plain', 'ASCII text, with very long lines'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 17670, 'Length1': 37675}, {'length': 37675, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 329}, {'length': 633, 'mime': ('text/plain', 'ASCII text'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 19562, 'Length1': 47334}, {'length': 47334, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 368}, {'length': 759, 'mime': ('text/plain', 'ASCII text'), 'pos': 0})
({'DecodeParms': {'Predictor': 12, 'Columns': 5}, 'Info': <PDFObjRef:9>, 'Index': [10, 27], 'Type': /XRef, 'Filter': /FlateDecode, 'Length': 73, 'W': [1, 3, 1], 'Prev': 490769677, 'Root': <PDFObjRef:11>, 'ID': ['>V\xd9\xc0\xb0\xe3\xd1M\x8ci\xad\xf5\xa7\x00\xb2\xfd', '\xee\x12\xbb\xf5u\x0b(A\xa8\x87\x06>0A"\xd3'], 'Size': 37}, {'length': 135, 'mime': ('application/octet-stream', 'data'), 'pos': 0})
({'Filter': /FlateDecode, 'I': 107, 'Length': 87, 'B': 81, 'S': 38}, {'length': 123, 'mime': ('application/octet-stream', 'data'), 'pos': 0})

#### New line of the street.pdf
({'Subtype': /XML, 'Length': 3496, 'Type': /Metadata}, {'length': 3498, 'mime': ('text/plain', 'UTF-8 Unicode text, with CRLF, LF line terminators'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 333}, {'length': 791, 'mime': ('text/plain', 'ASCII text, with very long lines'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 17670, 'Length1': 37675}, {'length': 37675, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 329}, {'length': 633, 'mime': ('text/plain', 'ASCII text'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 19562, 'Length1': 47334}, {'length': 47334, 'mime': ('application/x-font-ttf', 'TrueType font data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 368}, {'length': 759, 'mime': ('text/plain', 'ASCII text'), 'pos': 0})
>>>> ({'Filter': /FlateDecode, 'Subtype': /video/mp4, 'DL': 661658647, 'Params': {'Size': 661658647, 'CheckSum': 'bF|\xdeVi\x9d\xaa?\xa8\xbf\xf1\xda\xd2\x12\xbd', 'CreationDate': "D:20180606153809-07'00'", 'ModDate': 'D:20180606153701'}, 'Length': 661620362}, {'length': 661658647, 'mime': ('video/mp4', 'ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 9841, 'N': 14, 'Type': /ObjStm, 'First': 112}, {'length': 25862, 'mime': ('application/octet-stream', 'data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 188, 'N': 1, 'Type': /ObjStm, 'First': 4}, {'length': 227, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 136, 'N': 2, 'Type': /ObjStm, 'First': 9}, {'length': 147, 'mime': ('application/octet-stream', 'data'), 'pos': 0})
({'Filter': /FlateDecode, 'Length': 153, 'N': 1, 'Type': /ObjStm, 'First': 5}, {'length': 191, 'mime': ('text/plain', 'ASCII text, with no line terminators'), 'pos': 0})
({'DecodeParms': {'Predictor': 12, 'Columns': 6}, 'Info': <PDFObjRef:9>, 'Type': /XRef, 'Filter': /FlateDecode, 'Length': 132, 'W': [1, 4, 1], 'Root': <PDFObjRef:11>, 'ID': ['>V\xd9\xc0\xb0\xe3\xd1M\x8ci\xad\xf5\xa7\x00\xb2\xfd', '\xa0Dk#t\xd5WD\x81\x01NVcrKC'], 'Size': 51}, {'length': 306, 'mime': ('application/octet-stream', 'data'), 'pos': 0})

--Zhuyifei1999 (talk) 05:47, 7 June 2018 (UTC)

I added an ugly workaround for this in the bot code. Hopefully it should help --Zhuyifei1999 (talk) 06:14, 7 June 2018 (UTC)

File:Chris Wanstrath (2014).jpg

I uploaded File:Chris Wanstrath (2014).jpg and your bot flagged the file (https://commons.wikimedia.org/w/index.php?title=File%3AChris_Wanstrath_%282014%29.jpg&type=revision&diff=304486697&oldid=304486664). However, I cannot find the Flickuser TechChrunch in the bad authors list. So I dont know what to do next?--Schreibvieh (talk) 09:32, 4 June 2018 (UTC)

That was added in Special:Diff/293148550. @Jcb: Could you document the entry? --Zhuyifei1999 (talk) 09:50, 4 June 2018 (UTC)
✓ Done - Jcb (talk) 14:49, 4 June 2018 (UTC)

21:54, 4 June 2018 (UTC)

The bot tags files twice

Again, e.g. File:MCG Panorama 6 June 2018.jpg. --jdx Re: 04:45, 7 June 2018 (UTC)

I just restarted the rcwatcher. Should fix it. --Zhuyifei1999 (talk) 05:15, 7 June 2018 (UTC)

Great idea

To have added the option for server side uploads at video2commons! Thanks, — Racconish💬 20:06, 11 June 2018 (UTC)

Embedded Data Bot and a race condition

It seems that the bot has an issue related to a race condition – a WP0 abuser rapidly uploaded a bunch of small PNG files containing RAR archives (most likely a video split into small parts), but the bot didn't delete all of them – it protected a few files against re-creation but didn't delete them, I deleted them manually, e.g. File:Copie de Copie de Copie de Copie de 001 Breaking And Bad 25.png. --jdx Re: 19:04, 12 June 2018 (UTC)

I can't explain this race condition. Checking logs. --Zhuyifei1999 (talk) 03:37, 13 June 2018 (UTC)
It's MediaWiki's cursed LocalFileLockError. I have no idea how to fix this, except adding more and more retry attempts. It's already at 8 --Zhuyifei1999 (talk) 03:53, 13 June 2018 (UTC)
Actually, I think I figured it out. The relevant logs:
Executing delete on [[commons:File:Copie de Copie de Copie de Copie de 001 Breaking And Bad 29.png]]
Sleeping for 0.8 seconds, 2018-06-12 17:00:13
WARNING: API error lockmanager-fail-acquirelock: Could not acquire lock for "mwstore://local-multiwrite/local-deleted/m/c/z/mczsju0t6qf7cm0a3qf
6ylct0dh93bg.png".
API Error: query=
u"{u'maxlag': ['5'], 'title': [FilePage(File:Copie de Copie de Copie de Copie de 001 Breaking And Bad 29.png)], u'format': [u'json'], 'reason':
 [u'This file contains [[COM:CSD#F9', u'embedded data]]: After 145.6KiB (149053 bytes, via Ending,Magic): Identified type: application/x-rar (R
AR archive data, v4, os: Win32)'], u'assert': [u'user'], 'token': [u'REDACTED+\\\\'], 'action': [u'delete']}"
           response=
{u'servedby': u'mw1344', u'error': {u'info': u'Could not acquire lock for "mwstore://local-multiwrite/local-deleted/m/c/z/mczsju0t6qf7cm0a3qf6y
lct0dh93bg.png".', u'code': u'lockmanager-fail-acquirelock', u'help': u'See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to
 the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API depre
cations and breaking changes.'}}
WARNING: Failed API request on attempt 0
Sleeping for 0.7 seconds, 2018-06-12 17:00:14
WARNING: API error internal_api_error_LocalFileLockError: [Wx-8HwpAEDEAACTVNM0AAAAH] Exception caught: Could not acquire lock for "mwstore://lo
cal-multiwrite/local-public/7/76/Copie_de_Copie_de_Copie_de_Copie_de_001_Breaking_And_Bad_29.png".
ERROR: Detected MediaWiki API exception internal_api_error_LocalFileLockError: [Wx-8HwpAEDEAACTVNM0AAAAH] Exception caught: Could not acquire l
ock for "mwstore://local-multiwrite/local-public/7/76/Copie_de_Copie_de_Copie_de_Copie_de_001_Breaking_And_Bad_29.png". [servedby:mw1284]; rais
ing
MediaWiki exception LocalFileLockError details:
          query=
u"{u'maxlag': ['5'], 'title': [FilePage(File:Copie de Copie de Copie de Copie de 001 Breaking And Bad 29.png)], u'format': [u'json'], 'reason':
 [u'This file contains [[COM:CSD#F9', u'embedded data]]: After 145.6KiB (149053 bytes, via Ending,Magic): Identified type: application/x-rar (R
AR archive data, v4, os: Win32)'], u'assert': [u'user'], 'token': [u'REDACTED+\\\\'], 'action': [u'delete']}"
          response=
{u'servedby': u'mw1284', u'error': {u'info': u'[Wx-8HwpAEDEAACTVNM0AAAAH] Exception caught: Could not acquire lock for "mwstore://local-multiwr
ite/local-public/7/76/Copie_de_Copie_de_Copie_de_Copie_de_001_Breaking_And_Bad_29.png".', u'code': u'internal_api_error_LocalFileLockError'}}
WARNING: Failed API request on attempt 1
The deletion hash is calculated by sha, so if multiple files with the same sha are being deleted at the exact same time, the move target uri gets locked by one of the deletions and end up successful. The other deletion fail to lock the target, but locks the source without unlocking it (till the TTL expires, default = 2 hours). @Magma Rex: Could you check whether my thinking is correct, and if so, any ideas how to fix this? In python I would do try: finally: but not sure if this works in PHP. --Zhuyifei1999 (talk) 04:15, 13 June 2018 (UTC)
Failed ping. Ping again @Matma Rex: --Zhuyifei1999 (talk) 04:16, 13 June 2018 (UTC)

SignBot on the Hungarian Wikipedia

Hello! I've met SignBot and I'd like to ask that is it possible to run on the Hungarian Wikipedia too? If yes, I'm sure my community would support the tool and would be very grateful. If you have any question, feel free to ask. Best regards, Bencemac (talk) 18:58, 5 May 2018 (UTC)

The code is on GitHub Gist. It has some site-local customizations so it's best if you can find someone from your wiki to fork, edit, and run the bot. --Zhuyifei1999 (talk) 20:00, 5 May 2018 (UTC)

Hello! I have tried customize atobot to huwiki but there is still missing something.

  File "signbot.py", line 21, in <module>
    from pywikibot.comms.eventstreams import site_rc_listener
  File "/mnt/nfs/labstore-secondary-tools-project/pywikibot/public_html/core/pywikibot/comms/eventstreams.py", line 24, in <module>
    from requests.packages.urllib3.exceptions import ProtocolError
ImportError: No module named packages.urllib3.exceptions
<type 'exceptions.ImportError'>
CRITICAL: Closing network session.

Could you help? -- ato (talk) 19:28, 5 June 2018 (UTC)

@Ato 01: Sorry for not seeing this. I think you need an upgraded version of requests and/or urllib3 than the default provided with toolforge. One way to install it is using a virtualenv/venv --Zhuyifei1999 (talk) 14:13, 17 June 2018 (UTC)
Thank you. I am a step further. I have installed Redis too. The next and hopefully the last one what missing is a redisconfig.
...
    from redisconfig import KEYSIGN
ImportError: No module named 'redisconfig'

-- ato (talk) 22:24, 19 June 2018 (UTC)

You need a redisconfig.py that defines a single constant KEYSIGN that contains a random prefix for security reasons, see wikitech:Help:Toolforge#Redis --Zhuyifei1999 (talk) 01:43, 20 June 2018 (UTC)
Thank you. I have read the help about redis above, but I am afraid, I am too unexperienced for that. From that help above I could only generate a good prefix. I shooted a redisconfig.py from here but it does not work. I could not use my prefix in it and I can not build a redisconfig.py myself. Could you show an example what could work? I try to disturb as few as I can. Sorry about it. -- ato (talk) 17:51, 21 June 2018 (UTC)
No, not that redisconfig.py. What I mean is a file with the contents of KEYSIGN = '[your prefix without brackets]'. This is in a separate hidden file only because of security. --Zhuyifei1999 (talk) 17:58, 21 June 2018 (UTC)
Thank you! I think it's working right now on user talk pages. :)
WARNING: Empty message found.
[[hu:Szerkesztővita:Gabest]]: Handling
[[hu:Szerkesztővita:Gabest]]: [[hu:Szerkesztő:Gabest]] opted-out
[[hu:Szerkesztővita:Gabest]]: Handling
[[hu:Szerkesztővita:Gabest]]: [[hu:Szerkesztő:Kobeat]] opted-out
...

But how can I make it hidden? If I try chmod 0770, I receive a PermissionError. -- ato (talk) 18:37, 21 June 2018 (UTC)

... And ended with TimeoutError. -- ato (talk) 18:40, 21 June 2018 (UTC)

The owner of /data/project/ato/scripts/redisconfig.py is your user accout, but should be your tool account. Gotta run take on it.
TimeoutError is a protective measure when it doesn't see an RC for a minute, it aborts itself and gets restarted by grid engine. You can change that timeout. --Zhuyifei1999 (talk) 18:44, 21 June 2018 (UTC)

The bot made its first edit in huwiki successfully. I should only adjust with grid engine. Maybe at the weekend. Thank you! -- ato (talk) 11:25, 22 June 2018 (UTC)