I see where your going and I dont have any issues with it, you are keeping
page.text as one function/property. Right now in core page.text() can refer
to one of three methods. Either defining new_text, deleting new_text, or
setting new_text. I actually like  Ladsgroup 's idea and all that is needed
is to convert the _text property of the page class to text. Doing that
would avoid the headache that Im worried about.

On Sun, Jun 8, 2014 at 4:49 AM, Amir Ladsgroup <ladsgr...@gmail.com> wrote:

> The page.text is the correct approach. It may cause lots of function calls
> in backend but it's easier to use and one of the best advantage of this
> approach is you can change page's text several times and flush it away with
> a simple page.save() almost as the same as other objects in programing
> world. It has better compatibility with API and makes more sense. As an
> example if want to write a code in compat framework it would be like:
>
> page= wikipedia.Page(site, name)
> text = page.get()
> new_text = text
> if something:
>     new_text = new_text.replace(something, something_else)
>  if new_text != text:
>     page.put(new_text, summary)
>
> (Just do "grep new_text *.py" in compat to see how many times it's used)
> so you have to define a redundant variable named new_text and the code
> doesn't make sense for newbies and it has less readability than the core
> version of code:
>
> page= pywikibot.Page(site, name)
> if something:
>     page.text = page.text.replace(something, something_else)
> page.save(summary)
>
> So please judge which one is more readable and smaller.
> As a person who is using pywikibot more than six years and have patches in
> both core and compat, I have to admit core has tons of problems and it's
> hard to install BUT 1- compat has more issues 2- compat is not designed to
> work with API (do you recall Yuri's changes?) and it doesn't follow sense
> of mediawiki 3- it doesn't follow standards of python coding
> <https://www.mediawiki.org/wiki/Manual:Pywikibot/Development_guideline>
> so it's not readable or easy to use 4- if people don't use core in
> different environments no one would see the issues so we have to make
> people to use it and report bugs
>
> At the end I suggest to work on the standards (page.text instead of
> page.put() ) but keep compat compatibility. i.e. make a function like this
> in Page class:
> def put(*args):
>     page.text = args[0]
>     page.save(args[1:])
>
> or something like that
> Best
>
>
> On Sun, Jun 8, 2014 at 5:18 AM, John <phoenixoverr...@gmail.com> wrote:
>
>> OK, Ive been involved in pywiki for 8 years now, and its not trolling. I
>> have attempted to install "core" a dozen times over the last ~2 years. Each
>> and every time within 2 minutes I run into a fatal problem where core is
>> unusable. This time it was
>> https://bugzilla.wikimedia.org/show_bug.cgi?id=66242 which caused core
>> to crash within 10 seconds of attempting to use it.
>>
>> Im sorry if you think that "core" is some golden masterpiece. Its not.
>> Use of overloading function calls may be possible, but you wanna know
>> something? it becomes a nightmare to debug in complex code if by accident
>> you call the wrong version of page.text and end up with screwy output. I
>> know this may sound obnoxious and "trolling", bit I have lived by the
>> coders credo, KISS. Writing good strong base code and adopting methods that
>> prevent accidental code nightmares is a good thing.
>>
>> I often have to debug and/or isolate issues in complex scripts in the
>> 10,000 line of code range. making sure that accidents and errors are kept
>> to a minimum is very important. When you introduce identical functions that
>> perform different actions you are begging for screwups.
>>
>> Ive been contributing to pywiki on and off again for a long time, for the
>> most part the old compat branch was extremely stable and worked very well,
>> with the recent push use core, and to phase out compat more and more people
>> will be using core. I have lost count of the number of users I have helped
>> setup pywiki for on non-WMF wikis, the number that have been able to
>> install core I can count on half of one hand. The number that have been
>> able to get compat up and running with almost no problems far far exceeds
>> that of the latter.
>>
>> Im sorry if Im not all ass-kissing best product in the world. I have
>> already submitted a few patches to core and will continue to do so as I
>> review the code, and implement missing features. As most people who know me
>> can iterate, if you need something done, report generated, tool created or
>> software written, I probably have the code sitting around to do it, if I
>> dont Ill write it for the person. For the most part these tools have
>> resided in my personal repos, however given some of the issues I see
>> repeatedly and other things that crop up I do feel that other can benefit
>> from them. Since Im going to be re-writing most of the code in order to
>> move from compat to core I thought I would review core, fix the glaring
>> issues, fill in the missing components, and contribute some of the code
>> that I have sitting on my shelf.
>>
>> Given the fact that you have zero commits and just a handful of posts to
>> this mailing list I'll ignore your drive by snarky comment. If you actually
>> want to be productive and make core a good product feel free to submit
>> patches, something I will be doing.
>>
>> Pywikipedia has been a strong dependable and resourceful codebase for
>> many years, however if the community of newer devs want to push code that
>> is substandard and they are not interested in collaborating and improving
>> the code, Ill just fork it leave the code that doesn't work behind me with
>> those users who feel that politics should play a more important part of the
>> project than the quality and usability of the code.
>>
>> One other example where our code causes a crash is
>> https://bugzilla.wikimedia.org/show_bug.cgi?id=66330 any time a user
>> wants to have mwparserfromhell installed on windows, they cannot use core.
>> Ive already submitted a patch for the fix. I dont recall the bug off hand
>> but I know of at least one other major case where our lack of developers on
>> windows systems caused headaches was with the usage of git and the calls to
>> git.exe on windows, especially if git.exe either wasn't installed or wasn't
>> listed in the system path variable.
>>
>> How lets stop playing politics, calling a contributor who is actually
>> willing to spend hours reviewing and improving the code a troll, and get
>> back to providing a kickass framework for tools and bot development.
>>
>> _______________________________________________
>> Pywikipedia-l mailing list
>> Pywikipedia-l@lists.wikimedia.org
>> https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l
>>
>>
>
>
> --
> Amir
>
>
> _______________________________________________
> Pywikipedia-l mailing list
> Pywikipedia-l@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l
>
>
_______________________________________________
Pywikipedia-l mailing list
Pywikipedia-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l

Reply via email to