[issue1333] merge urllib and urlparse functionality
New submission from anatoly techtonik: The purpose is to encapsulate all URL handling functions in one module. At the moment there are three modules that dissect URLs for various bits of information. These are urlparse - to split url into components, urllib - to decode splitted data and cgi - to parse query component. To outline the API of the proposed module I'll start with urlparse : http://docs.python.org/lib/module-urlparse.html 1. There are two identical functions - urlparse and urlsplit that make the same parsing operation, but vary in format of return arguments. They could be replaced with one - let's call it urlsplitex - that returns result in a class with attributes - not a subclass of list, but rather dictionary subclass, because positional arguments are evil and you always have to look into reference to find out the correct order if you read or debug the code. 2. Returned class should not be immutable. It must be possible to modify the results to unset extra parts (like fragments) or edit required parts as needed and get the target URL via urlunsplitex or embedded method of the same class. Thus arguments "default_scheme" and "allow_fragments" will be useless as well as function urldefrag. 3. urlparsex, a replacement for "parsing" function of the new library should be high-level functions to dissect url information into tree-like structure with atomic leafs. This includes decoding url entities and splitting parameters into child structures. The proposed structure of url class attributes is: scheme string netloc class username string password string serverstring port integer path list with objects of class part string param list with objects of class name string valuestring querylist with objects of class name string value string fragment string 4. urlunparsex will be provided to reassemble class back into URL. This will deprecate series of functions from urllib like quote, unquote, urlencode and also functions parse_qs and parse_qsl from cgi module. References: http://mail.python.org/pipermail/patches/2005-February/016972.html http://bugs.python.org/issue1722348 http://bugs.python.org/issue1462525 -- components: Library (Lib) messages: 56787 nosy: techtonik severity: normal status: open title: merge urllib and urlparse functionality type: rfe versions: Python 3.0 __ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue1333> __ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12962] TitledHelpFormatter and IndentedHelpFormatter are not documented
New submission from anatoly techtonik : In optparse module doc this two classes are referenced, but not documented: http://docs.python.org/library/optparse.html -- components: Library (Lib) messages: 143888 nosy: techtonik priority: normal severity: normal status: open title: TitledHelpFormatter and IndentedHelpFormatter are not documented versions: Python 2.6, Python 2.7 ___ Python tracker <http://bugs.python.org/issue12962> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8822] datetime naive and aware types should have a well-defined definition that can be cross-referenced
anatoly techtonik added the comment: The point was: 1. Create an anchor to definition of "naive" object 2. Create an anchor to definition of "aware" object 3. Make definitions stand out from the inline text 4. Create cross-references for "naive" and "aware" keywords in text that lead directly to appropriate definition 5. Mention the fact: By default all objects are "naive", by definition, because they don't have any TZ information, and there are no classes in stdlib that provide this info (tzclass implemetations) 6. Answer the questions: How to make non-naive object? How to detect if object of naive or aware? That's it. If it's already done - then this ticket can be closed. -- ___ Python tracker <http://bugs.python.org/issue8822> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8822] datetime naive and aware types should have a well-defined definition that can be cross-referenced
anatoly techtonik added the comment: On Thu, Sep 15, 2011 at 10:42 PM, Alexander Belopolsky wrote: > > Shouldn't we say "datetime and time" instead of "date and time"? > There is no tzinfo attribute in date objects. Does that mean that if aware `datetime` is converted to `date` and then back, the tzinfo information is lost and object implicitly becomes naive? In this case it should mentioned IMO. -- anatoly t. -- ___ Python tracker <http://bugs.python.org/issue8822> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13008] syntax error when pasting valid snippet into console without empty string after the function def
New submission from anatoly techtonik : This is self-explanative. Function definitions are identical. Syntax error caused by the absence of empty line after the function definition. Python 2.7.1 (r271:86832, Apr 12 2011, 16:16:18) [GCC 4.6.0 20110331 (Red Hat 4.6.0-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> def get_size(start_path = '.'): ... total_size = 0 ... for dirpath, dirnames, filenames in os.walk(start_path): ... for f in filenames: ... fp = os.path.join(dirpath, f) ... total_size += os.path.getsize(fp) ... return total_size ... >>> print get_size() 1595969238 >>> def get_size(start_path = '.'): ... total_size = 0 ... for dirpath, dirnames, filenames in os.walk(start_path): ... for f in filenames: ... fp = os.path.join(dirpath, f) ... total_size += os.path.getsize(fp) ... return total_size ... print get_size() File "", line 8 print get_size() ^ SyntaxError: invalid syntax -- messages: 144278 nosy: techtonik priority: normal severity: normal status: open title: syntax error when pasting valid snippet into console without empty string after the function def versions: Python 2.7 ___ Python tracker <http://bugs.python.org/issue13008> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13008] syntax error when pasting valid snippet into console without empty string after the function def
anatoly techtonik added the comment: If changing behavior of console is not possible now, schedule it for python4. http://stackoverflow.com/questions/1392413/calculating-a-directory-size-using-python/1392549#1392549 -- ___ Python tracker <http://bugs.python.org/issue13008> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13008] syntax error when pasting valid snippet into console without empty string after the function def
anatoly techtonik added the comment: I understand your desire to keep the tracker clean, but I'd like that another person closes this issue. Maybe he will have another opinion. -- resolution: invalid -> status: closed -> languishing ___ Python tracker <http://bugs.python.org/issue13008> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1164953] logging.basicConfig creates phantom handler
anatoly techtonik added the comment: Can basicConfig() report its failure with DEBUG level when called twice? -- nosy: +techtonik ___ Python tracker <http://bugs.python.org/issue1164953> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1164953] logging.basicConfig creates phantom handler
anatoly techtonik added the comment: I know that it is by design, but from all logging users you may be the only one who keeps this behaviour in mind. The message why basicConfig() failed will be more user-friendly. -- ___ Python tracker <http://bugs.python.org/issue1164953> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1164953] logging.basicConfig creates phantom handler
anatoly techtonik added the comment: There were no request to change the behaviour, because there is already this closed issue where it is clearly said that this won't be fixed. However, this doesn't cancel the fact that logging package needs enhancements to be more pythonic (i.e. intuitive and user-friendly). Even though they can not be included in Python, it can make sense to keep that in mind (or split a branch) for Python4. http://code.google.com/p/rainforce/wiki/WartsOfPython#Logging_%282.x_tested,_3.x_unknown%29 -- ___ Python tracker <http://bugs.python.org/issue1164953> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13195] subprocess: args with shell=True is not documented on Windows
New submission from anatoly techtonik : For UNIX, it is said that if shell=False then you need to pass `args` as a list (if you want to pass any parameters to executable). Is that true for Windows (and perhaps other platforms) as well? Again, for UNIX it is said that with shell=True, and args is a list - every item except the first one is an argument to the shell itself. Is it the same on Windows? It would be better to just give advice in `shell` parameter description to "pass args as a list with shell=False or else you'll lose params in Unix. If shell=True you need to pass args as a string, because list is needed only if you need to pass arguments to shell itself." -- assignee: docs@python components: Documentation, Library (Lib) messages: 145662 nosy: docs@python, techtonik priority: normal severity: normal status: open title: subprocess: args with shell=True is not documented on Windows ___ Python tracker <http://bugs.python.org/issue13195> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13196] subprocess: undocumented if shell=True is necessary to find executable in Windows PATH
New submission from anatoly techtonik : The reason I ask is this changeset - http://code.google.com/p/spyderlib/source/detail?spec=svne5d86b685619a470d593aa5f9ee360ba60779bc1&r=323c6c697f045166e384cdc15803d40eebed0a2b - seems like without shell=True, subprocess.Popen is unable to find Mercurial executable in PATH. -- assignee: docs@python components: Documentation messages: 145664 nosy: docs@python, techtonik priority: normal severity: normal status: open title: subprocess: undocumented if shell=True is necessary to find executable in Windows PATH ___ Python tracker <http://bugs.python.org/issue13196> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13197] subprocess: move shell arguments to a separate keyword param
New submission from anatoly techtonik : subprocess.Popen(args, shell=shell) is implicitly inconsistent on Unix: 1. when shell=False, the args should be a list or you'll lose program options 2. when shell=True, the args should be a string or your program options will be passed to shell itself I propose to make consistent behaviour - require args to be a list, and pass shell options in a separate shell_args keyword argument. If it not for python4, then perhaps it can be implemented in PopenShell() and PopenSystem() functions. This will also require unification of behaviour across platforms. -- components: Library (Lib) messages: 145669 nosy: techtonik priority: normal severity: normal status: open title: subprocess: move shell arguments to a separate keyword param ___ Python tracker <http://bugs.python.org/issue13197> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13195] subprocess: args with shell=True is not documented on Windows
anatoly techtonik added the comment: Looks like a can of worms. For now I'll be pretty fine if this stuff is at least properly documented. -- ___ Python tracker <http://bugs.python.org/issue13195> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13196] subprocess: undocumented if shell=True is necessary to find executable in Windows PATH
anatoly techtonik added the comment: Although they both touch the same components, they are completely different user stories. -- ___ Python tracker <http://bugs.python.org/issue13196> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13195] subprocess: args with shell=True is not documented on Windows
anatoly techtonik added the comment: Certainly not right now as I don't have development environment setup. Perhaps in a few days if somebody pings me. It could be a lot easier with online editor, of course - http://code.google.com/p/pydotorg/issues/detail?id=6 -- ___ Python tracker <http://bugs.python.org/issue13195> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13197] subprocess: move shell arguments to a separate keyword param
anatoly techtonik added the comment: No. I won't be fixed in 2.7 anyway, and if it can not be fixed, it should be documented at least. -- ___ Python tracker <http://bugs.python.org/issue13197> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13197] subprocess: move shell arguments to a separate keyword param
anatoly techtonik added the comment: Oh, sorry - my attention span is limited under time pressure. #7839 is related, of course. There is a lot of comments, so I'll take a look at it later. -- ___ Python tracker <http://bugs.python.org/issue13197> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13195] subprocess: args with shell=True is not documented on Windows
anatoly techtonik added the comment: On Mon, Oct 17, 2011 at 3:24 PM, STINNER Victor wrote: > >> Certainly not right now as I don't have development environment setup > > See our development guide to get such environment: > http://docs.python.org/devguide/setup.html I know. There is better tool at https://bitbucket.org/techtonik/devinabox but I have only 500Mb left on my system drive and there are still more problems I need to handle. >> It could be a lot easier with online editor > > Would like like to work on this project? (provide an online editor) Do you mean would I like to work on it? Actually, I made a prototype on AppEngine that waits for JS guru to tune CodeMirror interface. If somebody is interested to help, I've just uploaded the code to http://code.google.com/p/pydotorg/source/browse/?repo=doceditor -- ___ Python tracker <http://bugs.python.org/issue13195> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13197] subprocess: move shell arguments to a separate keyword param
anatoly techtonik added the comment: List not only needs to be joined, it should be quoted as well. But the biggest problem will be the change of behavior between Python versions which may confuse users even more. Perhaps it's a good time to start embedding 'best practice' recipes in manual. -- ___ Python tracker <http://bugs.python.org/issue13197> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13231] sys.settrace - document 'some other code blocks' for 'call' event type
New submission from anatoly techtonik : http://docs.python.org/library/sys.html#sys.settrace While writing settrace function you need to know what kind of data is expected and how to get more information about it. Current documentation for sys.settrace doesn't give too much answers. To improve that situation at least with 'call' event: 1. Link 'frame' to the middle of table on inspect module page [1] 2. List all possible 'code blocks' for 'call' event (I know there is module in addition to function) 3. Provide example how to extract popular data for corresponding 'code block' (name for functions, name for modules, name for classes/methods, relative file path, line no, how to detect labmbda function) in a safe manner (inspect page contains some FUD about memory usage) 1. http://docs.python.org/library/inspect#types-and-members -- assignee: docs@python components: Documentation messages: 146009 nosy: docs@python, techtonik priority: normal severity: normal status: open title: sys.settrace - document 'some other code blocks' for 'call' event type ___ Python tracker <http://bugs.python.org/issue13231> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13235] logging.warn() is not documented
New submission from anatoly techtonik : No docs for logging.warn() alias. -- assignee: docs@python components: Documentation messages: 146039 nosy: docs@python, techtonik priority: normal severity: normal status: open title: logging.warn() is not documented versions: Python 2.7, Python 3.3 ___ Python tracker <http://bugs.python.org/issue13235> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13235] logging.warn() is not documented
anatoly techtonik added the comment: I've got a traceback, because forgot to implement this method in logging wrapper. It should be either deprecated and removed or documented. -- status: closed -> open ___ Python tracker <http://bugs.python.org/issue13235> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13235] logging.warn() is not documented
anatoly techtonik added the comment: ./trac/env.py:self.log.warn('base_url option not set in configuration, ' ./trac/env.py:self.log.warn('Couldn\'t write sample configuration file (%s)', e, ./trac/web/main.py:##env.log.warn("%d uncollectable objects found.", uncollectable) ./trac/web/main.py:env.log.warn(exception_to_unicode(e)) ./trac/web/.svn/text-base/main.py.svn-base:##env.log.warn("%d uncollectable objects found.", uncollectable) ./trac/web/.svn/text-base/main.py.svn-base: env.log.warn(exception_to_unicode(e)) ./trac/wiki/formatter.py:self.env.log.warn(e) ./trac/wiki/.svn/text-base/formatter.py.svn-base: self.env.log.warn(e) ./trac/versioncontrol/api.py:self.log.warn("Discarding duplicate repository '%s'", ./trac/versioncontrol/api.py:self.log.warn("Found no repositories matching '%s' base.", ./trac/versioncontrol/svn_prop.py: self.log.warn("svn:externals entry %s doesn't contain " ./trac/versioncontrol/.svn/text-base/api.py.svn-base: self.log.warn("Discarding duplicate repository '%s'", ./trac/versioncontrol/.svn/text-base/api.py.svn-base: self.log.warn("Found no repositories matching '%s' base.", ./trac/versioncontrol/.svn/text-base/svn_prop.py.svn-base: self.log.warn("svn:externals entry %s doesn't contain " ./trac/ticket/roadmap.py:def warn(msg): ./trac/ticket/roadmap.py:warn(_('Milestone "%(name)s" already exists, please ' ./trac/ticket/roadmap.py:warn(_('You must provide a name for the milestone.')) ./trac/ticket/roadmap.py:warn(_('Completion date may not be in the future')) ./trac/ticket/.svn/text-base/roadmap.py.svn-base:def warn(msg): ./trac/ticket/.svn/text-base/roadmap.py.svn-base: warn(_('Milestone "%(name)s" already exists, please ' ./trac/ticket/.svn/text-base/roadmap.py.svn-base:warn(_('You must provide a name for the milestone.')) ./trac/ticket/.svn/text-base/roadmap.py.svn-base: warn(_('Completion date may not be in the future')) ./trac/admin/web_ui.py:self.env.log.warn("Adding %s to group %s: " \ ./trac/admin/.svn/text-base/web_ui.py.svn-base: self.env.log.warn("Adding %s to group %s: " \ ./trac/prefs/web_ui.py:self.log.warn('Unknown preference panel %r', panel_id) ./trac/prefs/.svn/text-base/web_ui.py.svn-base: self.log.warn('Unknown preference panel %r', panel_id) ./trac/.svn/text-base/env.py.svn-base:self.log.warn('base_url option not set in configuration, ' ./trac/.svn/text-base/env.py.svn-base:self.log.warn('Couldn\'t write sample configuration file (%s)', e, quite a lot + probably trac plugins. So it's better to go through deprecation cycle and show appropriate message (but frankly - I don't mind against convenience alias - we already have some in testing modules). -- ___ Python tracker <http://bugs.python.org/issue13235> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13235] logging.warn() is not documented
anatoly techtonik added the comment: Just to me it clear - why do you want warn() to be removed aside from code duplication? My argument to leave it and document is that it is convenient and makes lines shorter (and won't break existing code). From logging module I also see that there are also logging.WARN aliases that you'll need to deprecate also. -- resolution: fixed -> status: closed -> open ___ Python tracker <http://bugs.python.org/issue13235> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4147] xml.dom.minidom toprettyxml: omit whitespace for text-only elements
anatoly techtonik added the comment: I would revert this patch (leaving several test cases though) until a proper fix is available. -- ___ Python tracker <http://bugs.python.org/issue4147> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13405] Add DTrace probes
Changes by anatoly techtonik : -- nosy: +techtonik ___ Python tracker <http://bugs.python.org/issue13405> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13405] Add DTrace probes
anatoly techtonik added the comment: 2011/12/12 Charles-François Natali > > Charles-François Natali added the comment: > > > Alan, I would open a new issue tracking this one and posting a patch > there, if I were you. > > > > Previous DTRACE attempts failed because trying to make everybody happy. > I don't want to repeat the mistake. > > > > Sorry, but I'm -1. > I don't feel comfortable with adding a such amount of intrusive code, > which will have to be maintained as the interpreter evolves, to add > probes just for Solaris derivatives, which is, with all due respect, > really a niche platform. So If we merge this, this should at least > support SystemTap upfront. > Is SystemTap an alternative to DTrace? I see that SystemTap is only for Linux, while DTrace is available also on MacOS and FreeBSD. -- ___ Python tracker <http://bugs.python.org/issue13405> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13390] Hunt memory allocations in addition to reference leaks
anatoly techtonik added the comment: How different is the performance cost of this solution compared to inserting DTrace probe for the same purpose? -- nosy: +techtonik ___ Python tracker <http://bugs.python.org/issue13390> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13390] Hunt memory allocations in addition to reference leaks
anatoly techtonik added the comment: On Mon, Dec 12, 2011 at 6:11 PM, STINNER Victor wrote: > > STINNER Victor added the comment: > > > How different is the performance cost of this solution compared > > to inserting DTrace probe for the same purpose? > > DTrace is only available on some platforms (Solaris and maybe FreeBSD?). > Solaris <http://en.wikipedia.org/wiki/Solaris_(operating_system)>, Mac OS X<http://en.wikipedia.org/wiki/Mac_OS_X> , FreeBSD <http://en.wikipedia.org/wiki/FreeBSD>, NetBSD<http://en.wikipedia.org/wiki/NetBSD> , Oracle Linux <http://en.wikipedia.org/wiki/Oracle_Linux> according to http://en.wikipedia.org/wiki/DTrace#Supported_platforms, but that doesn't relate to the question. -- ___ Python tracker <http://bugs.python.org/issue13390> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13405] Add DTrace probes
anatoly techtonik added the comment: On Mon, Dec 12, 2011 at 6:26 PM, Antoine Pitrou wrote: > > I am not disputing the flexibility of dtrace. However, it is also > platform-specific, and needs you to learn a dedicated programming > language and API. If it is flexible, then I won't see any problems to create a pythonic interface for it. If you want to inspect Python in real-time from itself - that's I believe is another story. -- ___ Python tracker <http://bugs.python.org/issue13405> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13614] `setup.py register` fails with traceback
New submission from anatoly techtonik : It seems that invalid ReST in long_description causes traceback in distutils `register` command. See attached log. More details: https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/905500 -- assignee: tarek components: Distutils files: traceback.txt messages: 149636 nosy: eric.araujo, tarek, techtonik priority: normal severity: normal status: open title: `setup.py register` fails with traceback versions: Python 2.7 Added file: http://bugs.python.org/file23982/traceback.txt ___ Python tracker <http://bugs.python.org/issue13614> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13615] `setup.py register` fails with -r argument
New submission from anatoly techtonik : $ python setup.py sdist register -r https://pypi.python.org/pypi upload ... Creating tar archive removing 'pager-0.2' (and everything under it) running register Traceback (most recent call last): File "setup.py", line 17, in 'Operating System :: OS Independent', File "/usr/lib/python2.7/distutils/core.py", line 152, in setup dist.run_commands() File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands self.run_command(cmd) File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "/usr/lib/python2.7/distutils/command/register.py", line 47, in run self._set_config() File "/usr/lib/python2.7/distutils/command/register.py", line 82, in _set_config raise ValueError('%s not found in .pypirc' % self.repository) ValueError: https://pypi.python.org/pypi not found in .pypirc --- $ python setup.py register -h ... Options for 'register' command: --repository (-r) url of repository [default: http://pypi.python.org/pypi] ... usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] ... -- assignee: tarek components: Distutils messages: 149637 nosy: eric.araujo, tarek, techtonik priority: normal severity: normal status: open title: `setup.py register` fails with -r argument versions: Python 2.7 ___ Python tracker <http://bugs.python.org/issue13615> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13615] `setup.py register` fails with -r argument
anatoly techtonik added the comment: Ubuntu 11.10 -- ___ Python tracker <http://bugs.python.org/issue13615> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13614] `setup.py register` fails if long_description contains RST
anatoly techtonik added the comment: A good analysis of the issue is made by Jason Conti at Ubuntu bug report mentioned in the first commit. -- title: `setup.py register` fails with traceback -> `setup.py register` fails if long_description contains RST ___ Python tracker <http://bugs.python.org/issue13614> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13614] `setup.py register` fails if long_description contains RST
anatoly techtonik added the comment: s/commit/comment/ sry. -- ___ Python tracker <http://bugs.python.org/issue13614> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13649] termios.ICANON is not documented
New submission from anatoly techtonik : http://docs.python.org/library/termios.html is missing documentation for ICANON flag used to put terminal to "raw" mode. It is also worth to place `termios` raw/canonical mode equivalent on `tty` pages, so that people porting C code to Python could understand the hidden magic. -- assignee: docs@python components: Documentation, IO, Library (Lib) messages: 150098 nosy: docs@python, techtonik priority: normal severity: normal status: open title: termios.ICANON is not documented versions: Python 2.7 ___ Python tracker <http://bugs.python.org/issue13649> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik added the comment: os.rename(overwrite=True) to produce consistent cross-platform behavior. -- ___ Python tracker <http://bugs.python.org/issue8828> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik added the comment: One of the Python advantages is providing predictable cross-platform behavior. If we can't introduce nice API without BC break, it is not a reason to introduce ulgy API. -- ___ Python tracker <http://bugs.python.org/issue8828> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik added the comment: 2011/12/23 Charles-François Natali > > > One of the Python advantages is providing predictable cross-platform > > behavior. If we can't introduce nice API without BC break, it is not > > a reason to introduce ulgy API. > > We cannot make rename() overwrite existing files by default (on Windows). > It's out of question, too much code might rely on this, and this may very > well introduce security flaws. > If you're concerned with the semantics difference between platforms, well, > there's not much we can do about it now. Java behaves in the same way, for > example. > I propose quite the opposite. rename() should not overwrite existing files by default. -- ___ Python tracker <http://bugs.python.org/issue8828> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik added the comment: 2011/12/23 Charles-François Natali > > Charles-François Natali added the comment: > > > I propose quite the opposite. rename() should not overwrite existing > > files by default. > > 1. That's not what I understood from: > > os.rename(overwrite=True) to produce consistent cross-platform > > behavior. > > 2. The above argument on backward incompatible change applies in exactly > the same way (just exchange Windows for POSIX). > > 3. As explained above, it can not be done reliably on POSIX (TOCTTOU race). os.rename(overwrite=False) by default will do less harm than the opposite, so I'd say it is a way to go even if it can not be reliably done on POSIX. But I believe correct file system that supports transactions will make it possible to do reliably on POSIX too. Then I believe that having a small chance of overwriting file just created at exactly the same moment on a POSIX is a small price to pay for function that does safety check before rename on a platform that doesn't have such functionality at all. If you need this functionality - you will still do 'if exists ... rename' and the TOCTTOU race will affect you. So, the only exit is to place a little sign "in some extreme cases Linux suffers from TOCTTOU problem when renaming files without overwriting, so keep that in mind". BUT let me remind you that this bug is about "Atomic rename" which should rollback in case of errors. -- ___ Python tracker <http://bugs.python.org/issue8828> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik added the comment: On Fri, Dec 23, 2011 at 10:35 PM, Antoine Pitrou wrote: > > os.rename(overwrite=False) by default will do less harm than the > opposite, > > Disagreed. > Fine. No arguments == no consensus. > > Then I believe that having a small chance of overwriting file just > created > > at exactly the same moment on a POSIX is a small price to pay for > function > > that does safety check before rename on a platform that doesn't have such > > functionality at all. > > Disagreed. > If you need the functionality, it's *one* additional line of code. Not > every trivial function deserves to be in the stdlib. As a Windows programmer I am quite surprised to read this thread with information that on Linux os.rename() overwrites files without questions, so as I Windows programmer I want os.rename() to stop that. I always guard my code against accidental rewrite by catching the exception. EAFP and all that stuff. But there is no way I can ask forgiveness when files are already overwritten. -- ___ Python tracker <http://bugs.python.org/issue8828> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13615] `setup.py register` fails with -r argument
anatoly techtonik added the comment: Can't test right now. -- ___ Python tracker <http://bugs.python.org/issue13615> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11633] regression: print buffers output when end=''
anatoly techtonik added the comment: I've tried to switch to Python 3 once more and stumbled upon this problem once more. Seems like this regression got stale. Last Victor's proposal seems reasonable for me. Should we open a new, more clear bug report and close this one? -- ___ Python tracker <http://bugs.python.org/issue11633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11633] regression: print buffers output when end=''
anatoly techtonik added the comment: On Mon, Jan 9, 2012 at 2:03 PM, Terry J. Reedy wrote: > > Terry J. Reedy added the comment: > > No, I don't think so. Another issue will not magically create more time > for anyone. > But anyone will waste less time to get to the outcome of discussion. -- anatoly t. -- ___ Python tracker <http://bugs.python.org/issue11633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11633] Document that print buffers output when end=''
anatoly techtonik added the comment: > Making documentation for simple print() statement overloaded with low level > buffering details makes language seem overly complicated for new users. Why don't anybody require references for that? -- ___ Python tracker <http://bugs.python.org/issue11633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13761] Add flush keyword to print()
anatoly techtonik added the comment: I am not discussing "printing to file", so my 0.02 is that "flush=True" should be made default for print() with sys.stdout, because it is probably what users expect when calling this function. If somebody needs buffering/cache or more fine-grained control over output, they are free to use sys.stdout.write/flush directly. And users won't be happy to wrap every print() into try/catch to guard from the flush exceptions. -- nosy: +techtonik ___ Python tracker <http://bugs.python.org/issue13761> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use secured channel for uploading packages to pypi
New submission from anatoly techtonik : Before the next version is released, I'd like to push this one line modification to reduce the risk of sniffing Python development password when people upload packages to PyPI by using https:// communication channel by default. Distutils doesn't validate PyPI server certificate, so this change doesn't prevent from MITM attacks, but at least it makes package submissions over wireless channels and public networks safer. Taking into account that people still release packages for Python 2.5+ (AppEngine), I'd like to see this fix backported to at least Python 2.6 -- assignee: tarek components: Distutils, Distutils2 files: pypy.https.patch keywords: patch messages: 137366 nosy: alexis, eric.araujo, tarek, techtonik priority: normal severity: normal status: open title: use secured channel for uploading packages to pypi type: security versions: Python 2.6, Python 2.7, Python 3.1 Added file: http://bugs.python.org/file22208/pypy.https.patch ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use secured channel for uploading packages to pypi
anatoly techtonik added the comment: The distutils version that exposes this vulnerability is shipped with Python, that's why it is here. -- ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use secured channel for uploading packages to pypi
anatoly techtonik added the comment: Yes. I've just uploaded http://pypi.python.org/pypi/review/r749 through https://pypi.python.org/pypi -- ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use secured channel for uploading packages to pypi
anatoly techtonik added the comment: On Wed, Jun 1, 2011 at 10:30 AM, Stefan Krah wrote: > >> Distutils doesn't validate PyPI server certificate, so this change >> doesn't prevent from MITM attacks, but at least it makes package >> submissions over wireless channels and public networks safer. > > Is that so? It's been a while, but I think e.g. ettercap is a highly > automated tool for MITM attacks that isn't very hard to use. This patch won't help against properly baited ettercap, but will prevent transit sniffing of weakly protected passwords. -- anatoly t. -- ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use secured channel for uploading packages to pypi
anatoly techtonik added the comment: On Wed, Jun 1, 2011 at 2:06 PM, Barry A. Warsaw wrote: > > Barry A. Warsaw added the comment: > > Given that 2.6.7 is rc2 with a final release scheduled in 2 days, I don't > want to apply this to 2.6 right now. Can you guarantee this won't regress > for anybody? If so, then I'm also +0 for 2.6 after the 2.6.7 release. Adding catalog-sig to CC. I can guarantee this for Windows. I'll be near Linux box tomorrow and will try upload to PyPI from there. It still will be more authoritative if more than one person can test upload to PyPI with this patch on different systems. -- anatoly t. -- ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use secured channel for uploading packages to pypi
anatoly techtonik added the comment: Sorry for the delay. I've just uploaded http://pypi.python.org/pypi/ctypesgen/0.r125 from Ubuntu using python2.6 with patched distutils module to https://pypi.python.org/pypi and can confirm it works without problems on Linux. So I can guarantee there won't be any regress in 99.9% of cases and <0.1% of cases that are left, risk of breaking these flaky setups doesn't outweight the need to close this security hole. I can fill separate bug for packaging, server certificate validation and support for non-SSL builds of python (for which there is workaround with upload -r option that I've just discovered), but it is an additional delay and the only reason I invested some time into this issue is because I saw RC announcements. P.S. To Martin. CAcert is not trusted authority on Windows, and all browsers warn about it, so we need to distribute its root certificate with Python if we want to validate ours. -- ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use secured channel for uploading packages to pypi
anatoly techtonik added the comment: I believe that's a very personal judgement. For me exposing core Python development accounts is a fundamental flaw. The more accounts are collected, the more real are attacks through PyPI package injection. -- ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use secured channel for uploading packages to pypi
anatoly techtonik added the comment: On Sat, Jun 4, 2011 at 5:33 PM, Éric Araujo wrote:> >> I think there should be a warning that the connection is >> unauthenticated (i.e. not secure). Users tend to be upset if they see >> 'https' and later find out that no certificates were verified. > > Thanks Stephan, that was on my mind but I forgot it. I’m -1 on using https > if no validation is performed. It will be more professional if you could also explain why. Thanks. >> I believe that's a very personal judgement. > Not really; it’s an explanation of our release rules, exposed by one of the > older developers. Release rules should be clear enough not to require explanation. >> For me exposing core Python development accounts is a fundamental >> flaw. > What is a core Python development account? 'core' is not the best word here, so it needs an explanation. Any account on PyPI that uploads packages used for in enterprise deployment schemes imposes a danger. Potential target are identified using 'popularity package/developer activity' rating to reduce the risk. These are the primary targets for an attack, which I called 'core'. 'primary' would be a better name probably. -- ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2057] difflib: add patch capability
anatoly techtonik added the comment: For this to move forward, PSF should accelerate work on new sane Contributor's Agreements or join Harmony (http://www.harmonyagreements.org/) -- ___ Python tracker <http://bugs.python.org/issue2057> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2057] difflib: add patch capability
anatoly techtonik added the comment: It is not sarcasm, but prerequisite. I do not sign papers I don't understand or papers that doesn't make any sense (and thus are free to any interpretation). I could sign current CLA right away, but I prefer not to do this until everybody is aware of the issue. -- ___ Python tracker <http://bugs.python.org/issue2057> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12357] Python dist modifications for secure PyPI uploads
New submission from anatoly techtonik : This is the master ticket to support secure uploads of Python packages to PyPI servers using standard Python distribution. Please, add issue12226 as a first child. -- assignee: tarek components: Distutils, Distutils2, Installation messages: 138576 nosy: alexis, eric.araujo, tarek, techtonik priority: normal severity: normal status: open title: Python dist modifications for secure PyPI uploads type: security versions: Python 2.6, Python 2.7, Python 3.2 ___ Python tracker <http://bugs.python.org/issue12357> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use HTTPS by default for uploading packages to pypi
anatoly techtonik added the comment: This simple patch slipped off 2.7.2. Why? -- title: use secured channel for uploading packages to pypi -> use HTTPS by default for uploading packages to pypi ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12358] validate server certificate when uploading packages to PyPI
New submission from anatoly techtonik : Please add this as a child of master issue12357. When default protocol to upload to PyPI is switched to HTTPS in issue12226, the next step is to validate the certificate. Certificate validation requires that we will either: 1. distribute root CACert certificate with Python (for some reason it is not included/trusted on Windows platform) 2. acquire certificate for PyPI servers from party trusted by default, so that system certificates can be used for validation -- messages: 138578 nosy: techtonik priority: normal severity: normal status: open title: validate server certificate when uploading packages to PyPI type: security ___ Python tracker <http://bugs.python.org/issue12358> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12358] validate server certificate when uploading packages to PyPI
Changes by anatoly techtonik : -- assignee: -> tarek components: +Distutils, Distutils2 nosy: +alexis, eric.araujo, tarek versions: +Python 2.7, Python 3.1, Python 3.2 ___ Python tracker <http://bugs.python.org/issue12358> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12357] Python dist modifications for secure PyPI uploads
anatoly techtonik added the comment: ..and issue12358 as a second. -- ___ Python tracker <http://bugs.python.org/issue12357> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12359] tutorial: Module search path description is incorrect
New submission from anatoly techtonik : http://docs.python.org/tutorial/modules.html#the-module-search-path Module search path order description is misleading. When a module named spam is imported, the interpreter searches for a file named spam.py in the directory of the script with import instruction, not in the current directory. -- assignee: docs@python components: Documentation messages: 138584 nosy: docs@python, techtonik priority: normal severity: normal status: open title: tutorial: Module search path description is incorrect versions: Python 2.7 ___ Python tracker <http://bugs.python.org/issue12359> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use HTTPS by default for uploading packages to pypi
anatoly techtonik added the comment: What is left? -- ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12358] validate server certificate when uploading packages to PyPI
anatoly techtonik added the comment: That's two separate tickets. I intentionally wasted my time opening several of them to avoid making issues overcomplicated, so that they are manageable for review and won't slip from the next release. Ping me in GTalk if you want to discuss it. -- resolution: duplicate -> status: closed -> open ___ Python tracker <http://bugs.python.org/issue12358> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12358] validate server certificate when uploading packages to PyPI
anatoly techtonik added the comment: Mind you that HTTPS access without certificate validation is not a false security - even without certificate it provides a good protection from passive attacks. -- ___ Python tracker <http://bugs.python.org/issue12358> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12358] validate server certificate when uploading packages to PyPI
anatoly techtonik added the comment: If tickets are small and easy, they can be committed faster. I wouldn't open another one if this small patch was committed in time. As I already explained, adding certificate check to HTTPS is a further security enhancement, and here is the report for it to not forget and discuss further security issues. It is not 'incomplete'. -- ___ Python tracker <http://bugs.python.org/issue12358> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12226] use HTTPS by default for uploading packages to pypi
anatoly techtonik added the comment: That's the issue12358. -- ___ Python tracker <http://bugs.python.org/issue12226> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12357] Python dist modifications for secure PyPI uploads
anatoly techtonik added the comment: Why don't you want to wait for the third opinion before judging tickets on your own. Do you understand that this creates a conflict? -- status: closed -> open ___ Python tracker <http://bugs.python.org/issue12357> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12357] Python dist modifications for secure PyPI uploads
anatoly techtonik added the comment: See the same issue12358 for the opposite arguments. -- ___ Python tracker <http://bugs.python.org/issue12357> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12359] tutorial: Module search path description is incorrect
anatoly techtonik added the comment: On Mon, Jun 20, 2011 at 3:42 AM, Roundup Robot wrote: > > New changeset bf8b4c43fb94 by Senthil Kumaran in branch '3.2': > Fix closes Issue12359 - Minor update to module import description. > http://hg.python.org/cpython/rev/bf8b4c43fb94 1. There is a typo 'thecurrent' in this commit 2. The interpreter doesn't search current directory. The first item appended to sys.path is the directory of the importing script. -- resolution: fixed -> remind status: closed -> open ___ Python tracker <http://bugs.python.org/issue12359> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12359] tutorial: Module search path description is incorrect
anatoly techtonik added the comment: I attach file for testing import if anybody needs it. Move module.py to your current directory, but out of the dir with script.py and execute script.py using relative path from there. -- Added file: http://bugs.python.org/file22413/portable-test.7z ___ Python tracker <http://bugs.python.org/issue12359> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11253] autodocument first appearance of ctypes.wintypes constants
anatoly techtonik added the comment: On Mon, Jun 27, 2011 at 12:18 AM, Senthil Kumaran wrote: > As you said, the future version can be updated, but we > cannot go back with updating the documentation of the already released > versions. Why? -- anatoly t. -- ___ Python tracker <http://bugs.python.org/issue11253> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12476] ctypes: need example how to pass raw data from Python
New submission from anatoly techtonik : ctypes documentation lacks an example, how to pass a raw data block from Python to a C function. For example, how to pass this chunk: data = open('somefile', 'rb').read() to this function: int checkBuffer(LPSTR lpData, DWORD dwBufferLength); ? -- assignee: docs@python components: Documentation, ctypes messages: 139675 nosy: docs@python, techtonik priority: normal severity: normal status: open title: ctypes: need example how to pass raw data from Python versions: Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4 ___ Python tracker <http://bugs.python.org/issue12476> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12476] ctypes: need example how to pass raw data from Python
anatoly techtonik added the comment: ISTM that this code works ok. data = open('data.raw', 'rb').read() ret = checkBuffer(data, len(data)) You need to make sure that checkBuffer doesn't try to modify memory though. For mutable memory blocks use create_string_buffer(). -- ___ Python tracker <http://bugs.python.org/issue12476> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4111] Add Systemtap/DTrace probes
Changes by anatoly techtonik : -- nosy: +techtonik ___ Python tracker <http://bugs.python.org/issue4111> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2889] curses for windows (alternative patch)
anatoly techtonik added the comment: PDCurses is not updated, because it is considered stable and mature library that has been tested on Windows platform by many roguelikes. I doubt that ncurses hackers care about Windows compatibility more than just to make it run. -- ___ Python tracker <http://bugs.python.org/issue2889> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2057] difflib: add patch capability
anatoly techtonik added the comment: Unified diffs is the preferred type on this tracker as http://www.python.org/dev/patches/ describes. I also sure that they constitute more than 90% of patches attached here. If you have access to tracker attachments - you can test this. Unfortunately, diff.py generates context diffs by default, and I do not have plans to add this format into my patch.py tool, so it won't be a correct counterpart to include in Scripts/ By ' diff/patch lib is not.' I meant that 'diff/patch _lib_ is not ready'. You can use patch.py as a tool, but don't rely that API is stable. -- ___ Python tracker <http://bugs.python.org/issue2057> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9272] CGIHTTPServer poisons os.environ
anatoly techtonik added the comment: So.. -- ___ Python tracker <http://bugs.python.org/issue9272> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2057] difflib: add patch capability
anatoly techtonik added the comment: On Mon, Sep 20, 2010 at 11:58 PM, Terry J. Reedy wrote: > Given that difflib produces unified diffs (among 3 others) and that diff.py > is a thin command-line wrapper that provides access to all 4 formats (with no > default), I consider those two files 'ready'. Context diff is default format for diff.py utility. I tried my best to change this, but failed, and that's very disappointing in Python community. You may take a look how much time was wasted on a decision for a file that is neither part of standard library nor really used by anyone participated except me. http://bugs.python.org/issue8355 > So I presume you are referring to your patch.py, which is still labelled > experimental. > > Difflib works by analyzing sequences a and b with SequenceMatcher to produce > a sequence of edits that would produce b from a. It then formats the edits > into 1 of 4 formats. > > Ideally, a patchlib would have a core SequenceEditor that would apply a > sequence of edits (in the same format as SequenceMatcher's outputs) to > sequence a to output sequence b. That much seems relatively easy. To be > complete, it should also have at least 3 if not 4 parse functions that would > produce edit sequences. A corresponding patch.py would then be a thin > command-line wrapper over patchlib. Difflib doesn't produce correct output for unified format, and patch.py is not able to parse it correctly - see issue2142, issue7585 (for Python 2.6). patch.py doesn't operate with sequences of edits - it has line by line parser (rather than symbol by symbol), which produces list of filenames with info about changed lines in hunk objects (containing line numbers). There is no SequenceEditor sequences. > Your comments and a perusal of your code indicates that it has a unified diff > parser, a sequence matcher, and command-line wrapper. I guess the immediate > question is whether this would be enough for a start. Unified diff parser is valid only for Subversion style patches. Patches produced by difflib are not valid as stated above. Mercurial and git style patches are about to be added later with an ability to create and copy/move files. Sequence matcher is line comparison tool with some intelligence to free developer from CRLF difference sufferings. It is good for "apply patch" use case, but I do not know how about low-level SequenceEditor API. Usually patch utilities contains more additional logic to apply patches with some offset. http://code.google.com/p/google-diff-match-patch/ will be a better point for low level difflib API. -- ___ Python tracker <http://bugs.python.org/issue2057> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2200] find_executable fails to find .bat files on win32
anatoly techtonik added the comment: I believe I had problems with SCons and other .py scripts that are installed as executable .bat files on Windows. -- ___ Python tracker <http://bugs.python.org/issue2200> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2200] find_executable fails to find .bat files on win32
anatoly techtonik added the comment: Another use case for .bat files is adddin extra params for executable files. -- ___ Python tracker <http://bugs.python.org/issue2200> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9272] CGIHTTPServer poisons os.environ
anatoly techtonik added the comment: I still haven't received answers on the licensing questions in developer's mailing list. After the amount of negative feedback received I decided not to continue. But I am still interested in constructive discussion to get satisfying and full answers to the questions I've asked. You should understand that I can not sign agreements which terms are not clear to me, or if I think that other party fails to fulfill the conditions. I see the contributor's agreement text is changed again, but there is no history of changes, and no electronic signature, and looking through the text I still can't find it to be clear. As for this patch - I hereby release it into public domain, or if copyright law in your country doesn't allow that - I hereby grant you the right to use it on the terms of ISC license or WTFP license. If you still can't use the patch and can't explain me why the paragraph above is not enough, it is still possible to resolve the situation if you have some contacts at Google. I can submit my patch to Google and they'll send it to you. This will work, because I've signed http://code.google.com/legal/individual-cla-v1.0.html But this won't work if they didn't sign your form, of course. P.S. I want to see Python more open for contributions as well as you, but with more attention to details. -- ___ Python tracker <http://bugs.python.org/issue9272> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4111] Add Systemtap/DTrace probes
anatoly techtonik added the comment: I don't understand the last request. Is there already a practice to depend on patches that were applied by people, but were not released, reviewed or documented in some PEP? -- ___ Python tracker <http://bugs.python.org/issue4111> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4111] Add Systemtap/DTrace probes
anatoly techtonik added the comment: So, it was released. But why they didn't send their patches here? We could review them, or we want Sun and Apple create Python specifications unilaterally? It would be best to contact them and notify about the change. Is it something a PSF should do? -- ___ Python tracker <http://bugs.python.org/issue4111> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9995] "setup.py register sdist upload" requires pass to be saved
New submission from anatoly techtonik : That's very annoying that distutils asks to save your pass when uploading to PyPI, but refuses to upload if you refuse. So you end up with storing your password in cleartext. Try the next command to see what I mean: setup.py register sdist upload -- assignee: tarek components: Distutils messages: 117713 nosy: eric.araujo, tarek, techtonik priority: normal severity: normal status: open title: "setup.py register sdist upload" requires pass to be saved type: security versions: Python 2.6, Python 2.7 ___ Python tracker <http://bugs.python.org/issue9995> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10064] link to page with documentation bugs
New submission from anatoly techtonik : Link to bugtracker on http://docs.python.org/dev/bugs.html leads to main roundup page. It make more sense to redirect to a page that lists only documentation bugs. Extra points: - sort the landing page that Easy, then issues with Patches come first - provide a link to Documentation HOWTO from an issue page -- assignee: d...@python components: Documentation messages: 118334 nosy: d...@python, techtonik priority: normal severity: normal status: open title: link to page with documentation bugs ___ Python tracker <http://bugs.python.org/issue10064> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10165] char overwrite mode is by default on in Python console under Vista
New submission from anatoly techtonik : I never used Python console much, but now I see it has a very annoying behavior under Windows Vista. By default entered char overwrites the char under cursor. If you press Insert key once - it allows to insert key, but after you press enter - overwrite mode is back. -- messages: 119289 nosy: techtonik priority: normal severity: normal status: open title: char overwrite mode is by default on in Python console under Vista versions: Python 2.7 ___ Python tracker <http://bugs.python.org/issue10165> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10165] char overwrite mode is by default on in Python console under Vista
anatoly techtonik added the comment: I don't have pyreadline installed. But I had Insert Mode disabled for Python, indeed. I wonder if the setting comes disabled by default? -- ___ Python tracker <http://bugs.python.org/issue10165> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10165] char overwrite mode is by default on in Python console under Vista
anatoly techtonik added the comment: >> I wonder if the setting comes disabled by default? > > Correct. Can we turn it on by default in Windows installer? -- ___ Python tracker <http://bugs.python.org/issue10165> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10165] char overwrite mode is by default on in Python console under Vista
anatoly techtonik added the comment: You must have been mistaken this for QuickEdit mode. -- ___ Python tracker <http://bugs.python.org/issue10165> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4828] patch suggestion for webbrowser
anatoly techtonik added the comment: Any explanations? -- ___ Python tracker <http://bugs.python.org/issue4828> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9995] "setup.py register sdist upload" requires pass to be saved
anatoly techtonik added the comment: > python setup.py build sdist register upload ... Save your login (y/N)?n running upload Submitting dist\review-r585.zip to http://pypi.python.org/pypi Upload failed (401): You must be identified to edit package information -- ___ Python tracker <http://bugs.python.org/issue9995> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9995] "setup.py register sdist upload" requires pass to be saved
anatoly techtonik added the comment: Do you have a list of more important tasks than this one. I'd like to elaborate, because for me alone it could take a lot of time. What I need now is SVN URL to checkout distutils code and some advice where to start. No guarantees though - if the code is too complicated, I won't be able to dedicate much time for exploration. -- ___ Python tracker <http://bugs.python.org/issue9995> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9995] "setup.py register sdist upload" requires pass to be saved
anatoly techtonik added the comment: Fix attached. Also on Rietveld - http://codereview.appspot.com/2874041 Could you also backport it to other Python distributions to avoid questions like these: http://stackoverflow.com/questions/3773613/pypi-issues-upload-failed-401-you-must-be-identified-to-edit-package-informa http://stackoverflow.com/questions/1750186/weird-pypi-authentication-behavior -- keywords: +patch Added file: http://bugs.python.org/file19479/issue9995.distutils-forces-developers-to-store-password-in-cleartext.diff ___ Python tracker <http://bugs.python.org/issue9995> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10361] Fix issue 9995 - distutils forces developers to store password in cleartext (issue2874041)
anatoly techtonik added the comment: Reviewers: merwok, Message: I don't know when where will be time to redo the patch, but it would be nice to get some answers in meanwhile. http://codereview.appspot.com/2874041/diff/2001/cmd.py File cmd.py (right): http://codereview.appspot.com/2874041/diff/2001/cmd.py#newcode55 cmd.py:55: :param distutils.dist.Distribution dist: distribution to work with On 2010/11/08 17:17:11, merwok wrote: > Please don’t include unrelated changes in your patch. > Also, Python does not use :param: in docstrings. Including this in another patch is too much work to ever happen. What Python uses? http://codereview.appspot.com/2874041/diff/2001/command/upload.py File command/upload.py (right): http://codereview.appspot.com/2874041/diff/2001/command/upload.py#newcode53 command/upload.py:53: if not self.username and self.distribution.username: On 2010/11/08 17:17:11, merwok wrote: > I’d prefer a clearer comparison, please use “is [not] None” and parens. Are you sure you want an empty username in config file to override name set from 'register' command? Please review this at http://codereview.appspot.com/2874041/ Affected files: M cmd.py M command/register.py M command/upload.py M dist.py M tests/test_register.py Index: tests/test_register.py === --- tests/test_register.py (revision 86138) +++ tests/test_register.py (working copy) @@ -152,6 +152,26 @@ # therefore used afterwards by other commands self.assertEquals(cmd.distribution.password, 'password') +def test_password_set_with_no_config(self): +# check credentials are saved in dist if user chooses not to save them +# in config file. they are used afterwards by other commands +cmd = self._get_cmd() + +# patching raw_input and getpass.getpass. We are faking: +# use your existing login (choice 1.) +# Username : 'tarek' +# Password : 'password' +# Save your login (y/N)? : 'y' +inputs = RawInputs('1', 'tarek', 'n') +register_module.raw_input = inputs.__call__ +try: +cmd.run() +finally: +del register_module.raw_input + +self.assertEquals(cmd.distribution.username, 'tarek') +self.assertEquals(cmd.distribution.password, 'password') + def test_registering(self): # this test runs choice 2 cmd = self._get_cmd() Index: command/register.py === --- command/register.py (revision 86138) +++ command/register.py (working copy) @@ -172,11 +172,11 @@ # possibly save the login if code == 200: -if self.has_config: -# sharing the password in the distribution instance -# so the upload command can reuse it -self.distribution.password = password -else: +# sharing credentials in the distribution instance +# so the upload command can reuse it +self.distribution.username = username +self.distribution.password = password +if not self.has_config: self.announce(('I can store your PyPI login so future ' 'submissions will be faster.'), log.INFO) self.announce('(the login will be stored in %s)' % \ Index: command/upload.py === --- command/upload.py (revision 86138) +++ command/upload.py (working copy) @@ -48,8 +48,10 @@ self.repository = config['repository'] self.realm = config['realm'] -# getting the password from the distribution +# getting credentials from the distribution # if previously set by the register command +if not self.username and self.distribution.username: +self.username = self.distribution.username if not self.password and self.distribution.password: self.password = self.distribution.password Index: dist.py === --- dist.py (revision 86138) +++ dist.py (working copy) @@ -206,6 +206,7 @@ self.extra_path = None self.scripts = None self.data_files = None +self.username = '' self.password = '' # And now initialize bookkeeping stuff that can't be supplied by Index: cmd.py === --- cmd.py (revision 86138) +++ cmd.py (working copy) @@ -51,6 +51,8 @@ invokes
[issue9995] "setup.py register sdist upload" requires pass to be saved
anatoly techtonik added the comment: This fix is needed for 2.6 releases also to be able to upload packages from Linux. -- ___ Python tracker <http://bugs.python.org/issue9995> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10361] Fix issue 9995 - distutils forces developers to store password in cleartext (issue2874041)
anatoly techtonik added the comment: Fixed docstring. http://codereview.appspot.com/2874041/diff/2001/cmd.py File cmd.py (right): http://codereview.appspot.com/2874041/diff/2001/cmd.py#newcode55 cmd.py:55: :param distutils.dist.Distribution dist: distribution to work with On 2010/11/08 18:47:39, merwok wrote: > > Including this in another patch is too much work to ever happen. > We’ll have to revert it before committing then. > > What Python uses? > Something like “*dist* is an instance of blah”. I thought Python uses all Sphinx capabilities. Done. http://codereview.appspot.com/2874041/diff/2001/command/upload.py File command/upload.py (right): http://codereview.appspot.com/2874041/diff/2001/command/upload.py#newcode53 command/upload.py:53: if not self.username and self.distribution.username: On 2010/11/08 18:47:39, merwok wrote: > This is a crazy case. That's why I don't want to make distinction between "None" username and empty username. They are both the same in this context. http://codereview.appspot.com/2874041/diff/2001/tests/test_register.py File tests/test_register.py (right): http://codereview.appspot.com/2874041/diff/2001/tests/test_register.py#newcode165 tests/test_register.py:165: inputs = RawInputs('1', 'tarek', 'n') On 2010/11/08 18:47:39, merwok wrote: > It looks like you’re replying to “username” and “save your login” but not > “password”. That's magically patched in setUp method. http://codereview.appspot.com/2874041/ -- ___ Python tracker <http://bugs.python.org/issue10361> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9995] "setup.py register sdist upload" requires pass to be saved
anatoly techtonik added the comment: Eric, interested parties will not fill CVE or DSA requests. They will just steal the pass of PyPI uploaders and use it to inject malicious code into popular packages. If you need a CVE or DSA to evaluate if an issue imposes a security risk, then better leave this task to somebody else. -- type: behavior -> security ___ Python tracker <http://bugs.python.org/issue9995> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1589] New SSL module doesn't seem to verify hostname against commonName in certificate
anatoly techtonik added the comment: Should we escalate this issue to CVA for Python 2.x? -- nosy: +techtonik ___ Python tracker <http://bugs.python.org/issue1589> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com