Estimated Revised timeline

I’ll  follow strict deadlines to compensate the delay caused.

The task to be taken care of in the first two week includes the rest tasks in phabricator. Atleast I’ll check upon each of them and try to fix the issues collectively.Will get going based on the review sheet.

Yet a lot to learn. Hoping that all goes well..

Mid Term Evaluation

I realize that my project is going quite behind the planned schedule. It has been because of many reasons.. One of the primary reason being I had wrongly estimated the time consumption required for each script. Besides, inevitable involvement in family or work too have made the progress slow.

As such the final way left for me is to get going as soon as my exams get over. I hope I might do the needful..

** A major drawback which contributed to my slow pace – less familiar with programming in Python.

Important advices.

Here, I have described a sum up of the different suggestions and guidelines I had been directed for porting..

Basic in general guidelines:

  • This is the ultimate guide to start working.
  • Besides, for an overall study on all aspects of Pywikibot on may refer to the compilation mediawiki and at wikibooks.
  • Do the scripting according to pep8 , pep257 , flake8 and pyflakes guidelines..
  • Make minute changes based on the present version, date, author etc.. details.
  • Retain the functionality of the script based on the pywikibot module.
  • Don’t forget to test the script, in different environments (python version, OS version, etc.), before submitting it.
  • Make sure that before calling super __init__, you update self.availableOptions. For Bot implementation it’s advisable to use self.availableOptions.update({}) in __init__ where the defined parameters’s value may be obtained by using self.getOption(‘<parameter name’>). This may be facilated in two ways as depicted in script parser_function_count.py and scripts/commons_link.py.
  • Make necessary changes in user-config.py to get logging in from commandline/terminal for testing scripts.
  • Using userPut() in place of put() is widely done. For reference see scripts/pagefromfile.py and pywikibot/bot.py.
  • Expected format to write docstrings : See the top of other scripts, e.g. solve_disambiguation.
  • @deprecated(“fileIsShared”)
    def fileIsOnCommons(self): –>  this means to use fileIsShared()
  • @param and @type are only used for functions and methods
  • Don’t use print.
  • It is more compelling to use unicode_literals when back-porting new or existing Python 3 code to Python 2/3 than when porting existing Python 2 code to 2/3. In the latter case, explicitly marking up all unicode string literals with u'' prefixes would help to avoid unintentionally changing the existing Python 2 API.
  • Don’t remove u’…’ just for fun but only if git blame was broken anyway.
  • If a bot uses GeneratorFactory, the module should include the line
    docuReplacements = {‘&params;’: pywikibot.pagegenerators.parameterHelp}
    and include the marker &params; in the module’s docstring
    We manually include it so the parameters show up in the auto-generated module documentation:
  • # creating & retrieving urls – help
  • using __future__ as
    from __future__ import (absolute_import, division, print_function, unicode_literals)
  • Unicode doesn’t exist in Python 3, but this here is easy: str.decode generates a unicode object.
    eg. : unicode_text = unicode(mungedText, ‘utf-8’) rewritten as : mungedText.decode(encoding=‘utf-8’)
  • Using input_yn instead of inputChoice:
    answer = pywikibot.input_yn(u’Do you want to import %s?’, default=False, automatic_quit=False)
  • When issue like Jenkins actually saying to rebase the latest patch been submitted it refers to rebase on the master. It may be done directly by stashing unstaged changes first and then using ‘git rebase master’
    Usually it works always unless you depend on other patches which aren’t merged (this means the PS is not merged) (So if the patch is merged but you depend on not the latest PS (so not on the PS which got merged) then you need to rebase it differently)
  • MORE to COME

Working with patrol.py script..

Here, I have described a sum up of the different suggestions and guidelines I had been directed for porting..

Dependencies : patrol.py is dependent on mwlib.uparser ..

Basic in general guidelines:

  • Do the scripting according to pep8 , pep257 , flake8 and pyflakes guidelines..
  • Make minute changes based on the present version, date, author etc.. details.
  • Retain it’s functionality based on the pywikibot module.

Specific to patrol.py :

  • .verbose issue to be replaced by .config.verbose_output
  • Became familiar with site.py functions meant for patrolling (patrol).
  • I needed to prepare patrol whitelists for testing purpose on test.wikipedia, wikisource and mediawiki (for future reference) using list .
  • On testing, I encountered “pywikibot.data.api.APIError: permissiondenied: Permission denied” error which meant to get additional rights to patrol as per instructions been provided here.
  • From this, I came to know about Patrol permission right given to specific users. So, I needed to generate request here.
  • Once received the rights, proper testing is done in conventional way i.e. using : “python pwb.py scripts/patrol.py -family:’test’ -lang:’test'”
  • Finally it seems to work as I received expected output : here.

Me and FOSS encountered .. :D

Well here, I shall elaborate my first acquaintance with the FOSS culture and a hell lot of new experiences following my selection at FOSS OPW Round 9.

It had been quite an important breakpoint where I developed a more realistic perception about open source contribution norms which otherwise appeared to me as a very formal mode of working. I should state that the initial meetings have been significantly essential to motivate me towards my project due to the much supportive and friendly guidance been provided. I have been quite inspired by their working, organisation and task tackling approach and hope to follow them to avoid maximum mistakes which might happen otherwise. They have been quite friendly at times especially during the announcement and have maintained the most apt balance of working which I really appreciate.

Hoping for the best !

Introducing myself..

This is me, Priyanka Jayaswal , a third year undergraduate student of the Department of Mathematics , enrolled in it’s five year Integrated M. Sc. course of Mathematics and Computing. I am a proud student of India’s oldest Institute of Technology , IIT Kharagpur.

What more do you need than the serenity of a satisfied soul which feels accomplished over the worldly pleasures which lure upon it. That’s not the ultimate aim atleast not for me. Be free, live healthy and play an interchanging role in life too (it has it’s own fun),you control your life but at times let your life too control you.

I believe in exploring all the possibilities of life and try to adapt in even the worse of the situations. Life is fun only if you start believing in the power of acceptance. With these principles in mind I have been involved in exploring all aspects which interests me and thus had been a tech enthusiast being a Mechanical Team member at KRSSG , a junior coordinator and finally a Sub-Head at National Students’ Space Challenge . Not just this, I have even tried my hands as a deco-team member at Shaurya and a volunteer at Kshitij in my first year. This search did not take a halt even when I have come to second year as I had been selected at The Core Organzing Team Member at Kshitij 2014 and have been promoted as the Core Organizing Team Head – Events for the upcoming edition. I still wish to explore a hell lot of things still left in this vast campus where mysterious fellow mates dwell together and you may never judge the fun you may have with them merely by looking at them, so I do make friends often to analyse the human nature which is another part of my interest.

Well moving forward ,I am a native of Patna , the capital city of Bihar situated at the banks of Ganges. The city full of liveliness , rich food and helping faces all around. My life has been shaped here and I seriously love this amazing place of which I’m an integral part.

This was a very short expected zest of my personality. Another character I believe I possess tough may be bad at times is that I am best when i’m good but the most horrible person you may have ever met if goes mad. 😉