[issue24132] Direct sub-classing of pathlib.Path

2022-03-09 Thread Barney Gale


Barney Gale  added the comment:

If/when GH-31691 lands, I think this bug can be resolved: the original repro 
case will no longer raise AttributeError, and subclasses will be able to 
customize behaviour without needing to define further "flavour" or "accessor" 
subclasses.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2022-03-04 Thread Barney Gale


Change by Barney Gale :


--
pull_requests: +29812
pull_request: https://github.com/python/cpython/pull/31691

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2022-02-02 Thread Barney Gale


Change by Barney Gale :


--
pull_requests: +29269
pull_request: https://github.com/python/cpython/pull/31085

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2022-02-02 Thread miss-islington


miss-islington  added the comment:


New changeset 08f8301b21648d58d053e1a513db8ed32fbf37dd by Barney Gale in branch 
'main':
bpo-43012: remove `pathlib._Accessor` (GH-25701)
https://github.com/python/cpython/commit/08f8301b21648d58d053e1a513db8ed32fbf37dd


--
nosy: +miss-islington

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-12-31 Thread Éric Araujo

Change by Éric Araujo :


--
versions: +Python 3.11 -Python 3.10

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-09-16 Thread Richard


Richard  added the comment:

I agree this would be nice. For now, I'm doing this as a hack:

class Path(type(pathlib.Path())):
...

--
nosy: +nyuszika7h

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-06-24 Thread Kevin Follstad


Change by Kevin Follstad :


--
pull_requests: +25482
pull_request: https://github.com/python/cpython/pull/26906

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-06-13 Thread Barney Gale


Change by Barney Gale :


--
pull_requests: +25298
pull_request: https://github.com/python/cpython/pull/26708

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-05-29 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-05-28 Thread Kevin Follstad


Change by Kevin Follstad :


--
nosy: +kfollstad
nosy_count: 11.0 -> 12.0
pull_requests: +25030
pull_request: https://github.com/python/cpython/pull/26438

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-05-15 Thread Barney Gale


Change by Barney Gale :


--
pull_requests: +24778
pull_request: https://github.com/python/cpython/pull/26141

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-05-02 Thread Barney Gale


Barney Gale  added the comment:

Progress report:

I've been working on tidying up the pathlib internals over the 3.9 and 3.10 
releases. We're now in a position where:

- `pathlib._Flavour` is entirely pure, and doesn't make any `os` calls
- `pathlib._Accessor` handles all `os` access.

The internal abstractions are now much tighter, which allows us to begin 
refactoring them with confidence!

The next step is to remove accessors, in bpo-43012.

After that I'll finally be in a position to start working on this bug!

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-04-28 Thread Barney Gale


Change by Barney Gale :


--
pull_requests: +24392
pull_request: https://github.com/python/cpython/pull/25701

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-04-07 Thread Barney Gale


Change by Barney Gale :


--
pull_requests: +24005
pull_request: https://github.com/python/cpython/pull/25271

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-04-06 Thread Barney Gale


Change by Barney Gale :


--
pull_requests: +23979
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/25240

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2021-03-26 Thread Irit Katriel


Change by Irit Katriel :


--
components: +Library (Lib)
stage: patch review -> needs patch
type: behavior -> enhancement
versions: +Python 3.10 -Python 3.6

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2020-11-18 Thread qb-cea


qb-cea  added the comment:

Hi,

Thanks for reviving this! Feel free to reuse any code I wrote in my PR (or the 
whole PR itself), I do not think I will ever get around to finishing this work 
myself.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2020-11-16 Thread Xtrem532


Change by Xtrem532 :


--
nosy: +Xtrem532

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2020-04-03 Thread Piotr Dobrogost


Change by Piotr Dobrogost :


--
nosy: +piotr.dobrogost

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2020-03-29 Thread Barney Gale


Barney Gale  added the comment:

I'm taking another look at making `pathlib` extensible. There's some discussion 
here: https://discuss.python.org/t/make-pathlib-extensible/3428

List or preparatory bugfixes and tidy-ups: 
https://docs.google.com/spreadsheets/d/1TicFDMudKKA6CZcrscg1Xq9kt5Q8To8y0hADGw9u11I/edit#gid=0

--
nosy: +barneygale

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2018-03-28 Thread qb-cea

qb-cea  added the comment:

> What about AbstractPath instead of _PurePath ?

I will use this, thanks.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2018-03-28 Thread Christophe BAL

Christophe BAL  added the comment:

Hello.

What about AbstractPath instead of _PurePath ?

Le 28/03/2018 à 02:30, qb-cea a écrit :
> qb-cea  added the comment:
>
> Hi all,
>
> I made a pull request proposing a fix for this issue. There is still quite a 
> lot to be done:
>   - I exposed some variables (and probably methods too) that used to be 
> hidden;
>   - I did not update the documentation;
>   - I did not add a proper test.
>
> I will try to fix those by the end of the week.
>
> The patch mainly consists of two things:
>   - having Path (resp. PurePath) be a variable pointing at either 
> (Pure)PosixPath or (Pure)WindowsPath, depending on the platform (like Kevin 
> Norris suggested);
>   - introducing two new abstract classes _PurePath and ConcretePath from 
> which PurePosixPath, PureWindowsPath and PosixPath, WindowsPath classes 
> inherit;
>   - removing the _Flavor classes, and redistributing their method to 
> platform-specific classes.
>
> Ideally I would like _PurePath to become a public class, but I could not come 
> up with a proper name. Any feedback is more than welcome =]
>
> --
>
> ___
> Python tracker 
> 
> ___

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2018-03-27 Thread qb-cea

qb-cea  added the comment:

Hi all,

I made a pull request proposing a fix for this issue. There is still quite a 
lot to be done:
 - I exposed some variables (and probably methods too) that used to be hidden;
 - I did not update the documentation;
 - I did not add a proper test.

I will try to fix those by the end of the week.

The patch mainly consists of two things:
 - having Path (resp. PurePath) be a variable pointing at either 
(Pure)PosixPath or (Pure)WindowsPath, depending on the platform (like Kevin 
Norris suggested);
 - introducing two new abstract classes _PurePath and ConcretePath from which 
PurePosixPath, PureWindowsPath and PosixPath, WindowsPath classes inherit;
 - removing the _Flavor classes, and redistributing their method to 
platform-specific classes.

Ideally I would like _PurePath to become a public class, but I could not come 
up with a proper name. Any feedback is more than welcome =]

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2018-03-26 Thread qb-cea

Change by qb-cea :


--
keywords: +patch
pull_requests: +5981
stage:  -> patch review

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2018-01-31 Thread qb-cea

Change by qb-cea :


--
nosy: +qb-cea

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2018-01-30 Thread Torsten Bronger

Change by Torsten Bronger :


--
nosy: +bronger

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2018-01-24 Thread Keith

Keith  added the comment:

Look at the architecture of Rio in Ruby (also ported to Squeak/Smalltalk)

Leave Path to handle path stuff, and have another class to handle Platform 
stuff.

https://rubygems.org/gems/rio/versions/0.6.0

--
nosy: +keithy

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2017-11-08 Thread Stephen M. Gava

Stephen M. Gava  added the comment:

@paul.moore is the original contributor mia? i seem to remember pathlib as once 
being marked 'provisional', i think it should have stayed that way until this 
problem was resolved. easy to say i know ;) when i don't have a patch.

@projetmbc yes i found various work-arounds on the web and decided to not use 
any of them. really i feel this should be fixed as it's a jarring inconsistency 
with naturally expected behaviour for a class in python.

so i added my report to this as a topic bump because i don't think this should 
be forgotten about and in case anyone might come up with an idea how to fix it.

--
versions: +Python 3.6 -Python 3.5

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2017-11-08 Thread Christophe BAL

Christophe BAL  added the comment:

Mistyping : /search for class PPath/ with two P.

Le 08/11/2017 à 13:59, Christophe BAL a écrit :
> Christophe BAL  added the comment:
>
> For the moment, you can take a look at this little script that acheives
> subclassing of Path :
> https://github.com/bc-python/mistool/blob/master/mistool/os_use.py
> (search for class Path).
>
> Le 08/11/2017 à 09:55, Paul Moore a écrit :
>> Paul Moore  added the comment:
>>
>> @elguavas the problem is, no-one has proposed a patch. There's not likely to 
>> be much movement on this until someone provides one.
>>
>> --
>>
>> ___
>> Python tracker 
>> 
>> ___
> --
>
> ___
> Python tracker 
> 
> ___

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2017-11-08 Thread Christophe BAL

Christophe BAL  added the comment:

For the moment, you can take a look at this little script that acheives 
subclassing of Path : 
https://github.com/bc-python/mistool/blob/master/mistool/os_use.py 
(search for class Path).

Le 08/11/2017 à 09:55, Paul Moore a écrit :
> Paul Moore  added the comment:
>
> @elguavas the problem is, no-one has proposed a patch. There's not likely to 
> be much movement on this until someone provides one.
>
> --
>
> ___
> Python tracker 
> 
> ___

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2017-11-08 Thread Paul Moore

Paul Moore  added the comment:

@elguavas the problem is, no-one has proposed a patch. There's not likely to be 
much movement on this until someone provides one.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2017-11-07 Thread Stephen M. Gava

Stephen M. Gava  added the comment:

Using a set of paths with special properties and formats in a project, thought 
"the cleanest oop way to do this is try out python's oop paths in pathlib". 
Subclassed Path to implement my extra (non platfor specific) properties and 
fell at the first hurdle because of this issue... 

for me pathlib does not provide oop paths if i can't subclass Path, for 
whatever reason.

reverted to treating paths as strings and writing functions to handle my 
special path properties and formats.

i was also surprised when i found another bug report on this issue that said it 
was closed for 3.7, great i thought this has been solved, but no, the other 
report was closed because it was about the same issue as this ancient report.

--
nosy: +elguavas

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-06-30 Thread Kevin Norris

Kevin Norris added the comment:

If I were designing pathlib from scratch, I would not have a separate Path 
class.  I would instead do something like this:

In pathlib.py:

if os.name == 'nt':
Path = WindowsPath
else:
Path = PosixPath

Alternatively, Path() could be a factory function that picks one of those 
classes at runtime.

Of course, that still leaves the issue of where to put the method 
implementations which currently live in Path.  We could change the name of Path 
to _Path and use the code above to continue providing a Path alias, but that 
might be too confusing.  Another possibility is to pull those methods out into 
top-level functions and then alias them into methods in WindowsPath and 
PosixPath (perhaps using a decorator-like-thing to pass the flavor, instead of 
attaching it to the class).

The main thing, though, is that Path should not depend on its subclasses.  That 
really strikes me as poor design, since it produces issues like this one.

--
nosy: +Kevin.Norris

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Paul Moore

Paul Moore added the comment:

One issue with your code - what would you expect str(test) to produce? 
dir/test.txt or dir\test.txt? That's the point of the flavour - is it a 
Windows path or a Unix path?

Agreed that an easier method of creating Path subclasses that handle this type 
of thing would be useful, but any solution needs to make sure that developers 
don't overlook the Windows vs Unix implications.

Can you give an actual use case (as opposed to the toy example)?

--
nosy: +paul.moore

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Christophe BAL

Changes by Christophe BAL projet...@gmail.com:


--
title: Direct sub-classing of pathless.Path - Direct sub-classing of 
pathlib.Path

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Antoine Pitrou

Antoine Pitrou added the comment:

The Path classes were not designed to be subclassable by the user.
I'm not against making subclassing easier, but someone will have to propose a 
viable approach for that.

--
versions: +Python 3.5 -Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Christophe BAL

Christophe BAL added the comment:

Hello.

I will give a real example in 5 hours after my job. I will try tomorrow a
solution to ease the subclassing using another dedicazted class PathPlus,
sorry for the name. The idea would be to use this new class for
customization, and also to define WindowsPath and PosixPath sub-classing
this new class. By default PathPlus would be an empty class. I do not know
if this works well. Maybe my idea is a bad one.

*Christophe BAL*
*Enseignant de mathématiques en Lycée **et développeur Python amateur*
*---*
*French math teacher in a Lycée **and **Python **amateur developer*

2015-05-06 13:05 GMT+02:00 Antoine Pitrou rep...@bugs.python.org:


 Antoine Pitrou added the comment:

 The Path classes were not designed to be subclassable by the user.
 I'm not against making subclassing easier, but someone will have to
 propose a viable approach for that.

 --
 versions: +Python 3.5 -Python 3.4

 ___
 Python tracker rep...@bugs.python.org
 http://bugs.python.org/issue24132
 ___


--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Christophe BAL

Christophe BAL added the comment:

Here are for example two extra methods that I have implemented.

def __sub__(cls, path):

This magic method allows to use ``onepath - anotherpath`` instead of the
long
version ``onepath.relative_to(anotherpath)`` given by ``pathlib.Path``.

return cls.relative_to(path)

def _ppath_common_with(cls, paths):

This method returns the path of the smaller common folder of the current
path
and at least one paths.

python::
from mistool import os_use

path   = os_use.PPath(/Users/projects/source/doc)
path_1 = os_use.PPath(/Users/projects/README)
path_2 = os_use.PPath(/Users/projects/source/misTool/os_use.py)

print(path.common_with((path_1, path_2)))

if not isinstance(paths, (list, tuple)):
paths = [paths]

commonparts = list(cls.parts)

for onepath in paths:
i = 0

for common, actual in zip(commonparts, onepath.parts):
if common == actual:
i += 1
else:
break

commonparts = commonparts[:i]

if not commonparts:
break

commonpath = pathlib.Path()

for part in commonparts:
commonpath /= part

return commonpath

*Christophe BAL*
*Enseignant de mathématiques en Lycée **et développeur Python amateur*
*---*
*French math teacher in a Lycée **and **Python **amateur developer*

2015-05-06 14:13 GMT+02:00 Christophe BAL rep...@bugs.python.org:


 Christophe BAL added the comment:

 Hello.

 I will give a real example in 5 hours after my job. I will try tomorrow a
 solution to ease the subclassing using another dedicazted class PathPlus,
 sorry for the name. The idea would be to use this new class for
 customization, and also to define WindowsPath and PosixPath sub-classing
 this new class. By default PathPlus would be an empty class. I do not know
 if this works well. Maybe my idea is a bad one.

 *Christophe BAL*
 *Enseignant de mathématiques en Lycée **et développeur Python amateur*
 *---*
 *French math teacher in a Lycée **and **Python **amateur developer*

 2015-05-06 13:05 GMT+02:00 Antoine Pitrou rep...@bugs.python.org:

 
  Antoine Pitrou added the comment:
 
  The Path classes were not designed to be subclassable by the user.
  I'm not against making subclassing easier, but someone will have to
  propose a viable approach for that.
 
  --
  versions: +Python 3.5 -Python 3.4
 
  ___
  Python tracker rep...@bugs.python.org
  http://bugs.python.org/issue24132
  ___
 

 --

 ___
 Python tracker rep...@bugs.python.org
 http://bugs.python.org/issue24132
 ___


--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Paul Moore

Paul Moore added the comment:

 What is the good way to propose a patch ?

If you have a patch, attach it here, and it will get reviewed.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Paul Moore

Paul Moore added the comment:

I have no problem with that - it's a style choice certainly.

As I said, I'd like to see simpler subclassing of pathlib objects. I just think 
it'll be quite hard to do (given the complexities of classes for Windows/Unix 
as well as pure and concrete paths). So if it's just about examples like this, 
I personally would take the easier route and just go with standalone functions. 
If someone else felt strongly enough to design and implement a subclassing 
solution, that's fine though.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Christophe BAL

Christophe BAL added the comment:

Are you the author of path lib ?

*Christophe BAL*
*Enseignant de mathématiques en Lycée **et développeur Python amateur*
*---*
*French math teacher in a Lycée **and **Python **amateur developer*

2015-05-06 21:01 GMT+02:00 Paul Moore rep...@bugs.python.org:


 Paul Moore added the comment:

 I have no problem with that - it's a style choice certainly.

 As I said, I'd like to see simpler subclassing of pathlib objects. I just
 think it'll be quite hard to do (given the complexities of classes for
 Windows/Unix as well as pure and concrete paths). So if it's just about
 examples like this, I personally would take the easier route and just go
 with standalone functions. If someone else felt strongly enough to design
 and implement a subclassing solution, that's fine though.

 --

 ___
 Python tracker rep...@bugs.python.org
 http://bugs.python.org/issue24132
 ___


--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Paul Moore

Paul Moore added the comment:

For that type of function, I'd suggest you use a standalone function rather 
than subclassing and methods or operator overloading. You don't gain enough to 
be worth the complexity of having to subclass path objects. And duck typing 
means that your function works for any subclass of (Pure)Path without change.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Christophe BAL

Christophe BAL added the comment:

I don't agree with you. I prefer to add new functionalities to the paths I
use. This is the power of OOP. It is easier and cleaner to use
*mypath.common_with(otherpath)*  than  *common_with(**mypath, **other path)*
.

Python is highly OOP, so you can't say *don't use subclassing in your
case*. As a user, I should have the possibility to use the method I want.

Another example is the use of  *onepath - anotherpath*  instead of
*onepath.relative_to(**another path)* . That's the power of the magic
method to add this kind of feature.

*Christophe BAL*
*Enseignant de mathématiques en Lycée **et développeur Python amateur*
*---*
*French math teacher in a Lycée **and **Python **amateur developer*

2015-05-06 20:21 GMT+02:00 Paul Moore rep...@bugs.python.org:


 Paul Moore added the comment:

 For that type of function, I'd suggest you use a standalone function
 rather than subclassing and methods or operator overloading. You don't gain
 enough to be worth the complexity of having to subclass path objects. And
 duck typing means that your function works for any subclass of (Pure)Path
 without change.

 --

 ___
 Python tracker rep...@bugs.python.org
 http://bugs.python.org/issue24132
 ___


--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Paul Moore

Paul Moore added the comment:

 Are you the author of path lib ?

Nope, that's Antoine.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24132] Direct sub-classing of pathlib.Path

2015-05-06 Thread Christophe BAL

Christophe BAL added the comment:

OK.
I will try to find a way to achieve an easier and cleaner way to sub class
pathlib.Path and co.

What is the good way to propose a patch ?

*Christophe BAL*
*Enseignant de mathématiques en Lycée **et développeur Python amateur*
*---*
*French math teacher in a Lycée **and **Python **amateur developer*

2015-05-06 21:09 GMT+02:00 Paul Moore rep...@bugs.python.org:


 Paul Moore added the comment:

  Are you the author of path lib ?

 Nope, that's Antoine.

 --

 ___
 Python tracker rep...@bugs.python.org
 http://bugs.python.org/issue24132
 ___


--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24132
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com