On Fri, Sep 5, 2014 at 5:00 AM, John Mark Vandenberg <[email protected]>
wrote:

> On Wed, Sep 3, 2014 at 2:29 AM, Sorawee Porncharoenwase
> <[email protected]> wrote:
> > I propose this change:
> >
> > - set `page.text` to `None` to discard changes
>
> Doesn't the page.text setter already do this?
>

Yes, it already does this. Currently, `del page.text` and `page.text =
None` do the same thing. Since I want to change the functionality of `del
page.text`, I wrote "set `page.text` to `None` to discard changes" to say
that `page.text = None` will not be changed.


> > - delete `page.text` to reload content -- equivalent to get(force=True)
>
> del page.text already removes the cached / modified page text.
>
> so a forced reload of text is currently two lines:
>
> del page.text
> new = page.text
>
> I dont see why 'del page.text' should initiate network activity to
> reload the page text.
>
>
It seems to me that we want to switch get() to text property instead. To
make text can do what get() can do, we want an ability to force reloading
page--maybe to get the latest edit of a page which is edited frequently.


> > - in Page.save(), if `page.text` is equal to unchanged text, no API call
>

Currently, when I want to do find & replace, I have to write

text = page.text.replace(find, replace)
if text != page.text: # avoid API call
    page.text = text
    page.save()

In the past, we have put(), so I can just write

text = page.get().replace(find, replace)
if text != page.text:
    page.put(text)

I therefore think that  the current functionality of save() is not useful
much. I think that the right code for this is

page.text = page.text.replace(find, replace)
page.save()

In order to make this possible, if the text is unchanged, there should be
no API call.


> > - to touch a page, use page.touch(), which will call action="edit" &
> > appendtext="", instead. The advantage is that there is no need to preload
> > text.
>
> We have a touch() changeset pending.
>
> https://gerrit.wikimedia.org/r/#/c/144717/
>
>
Can I submit another patchset for 144717? action="edit" & appendtext="" is
a better way to go because we don't have to retrieve text at all.


> --
> John Vandenberg
>
> _______________________________________________
> Pywikipedia-l mailing list
> [email protected]
> https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l
>

-- 
Sorawee Porncharoenwase
_______________________________________________
Pywikipedia-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l

Reply via email to