1. 04 Jul, 2010 18 commits
  2. 03 Jul, 2010 22 commits
    • Alexander Belopolsky's avatar
      74135d0a
    • Brett Cannon's avatar
      Make importlib.abc.SourceLoader the primary mechanism for importlib. · 418182e1
      Brett Cannon authored
      This required moving the class from importlib/abc.py into
      importlib/_bootstrap.py and jiggering some code to work better with the class.
      This included changing how the file finder worked to better meet import
      semantics. This also led to fixing importlib to handle the empty string from
      sys.path as import currently does (and making me wish we didn't support that
      instead just required people to insert '.' instead to represent cwd).
      
      It also required making the new set_data abstractmethod create
      any needed subdirectories implicitly thanks to __pycache__ (it was either this
      or grow the SourceLoader ABC to gain an 'exists' method and either a mkdir
      method or have set_data with no data arg mean to create a directory).
      
      Lastly, as an optimization the file loaders cache the file path where the
      finder found something to use for loading (this is thanks to having a
      sourceless loader separate from the source loader to simplify the code and
      cut out stat calls).
      Unfortunately test_runpy assumed a loader would always work for a module, even
      if you changed from underneath it what it was expected to work with. By simply
      dropping the previous loader in test_runpy so the proper loader can be returned
      by the finder fixed the failure.
      
      At this point importlib deviates from import on two points:
      
      1. The exception raised when trying to import a file is different (import does
      an explicit file check to print a special message, importlib just says the path
      cannot be imported as if it was just some module name).
      
      2. the co_filename on a code object is not being set to where bytecode was
      actually loaded from instead of where the marshalled code object originally
      came from (a solution for this has already been agreed upon on python-dev but has
      not been implemented yet; issue8611).
      418182e1
    • Brett Cannon's avatar
      Make importlib.abc.SourceLoader the primary mechanism for importlib. · d71bed3d
      Brett Cannon authored
      This required moving the class from importlib/abc.py into
      importlib/_bootstrap.py and jiggering some code to work better with the class.
      This included changing how the file finder worked to better meet import
      semantics. This also led to fixing importlib to handle the empty string from
      sys.path as import currently does (and making me wish we didn't support that
      instead just required people to insert '.' instead to represent cwd).
      
      It also required making the new set_data abstractmethod create
      any needed subdirectories implicitly thanks to __pycache__ (it was either this
      or grow the SourceLoader ABC to gain an 'exists' method and either a mkdir
      method or have set_data with no data arg mean to create a directory).
      
      Lastly, as an optimization the file loaders cache the file path where the
      finder found something to use for loading (this is thanks to having a
      sourceless loader separate from the source loader to simplify the code and
      cut out stat calls).
      Unfortunately test_runpy assumed a loader would always work for a module, even
      if you changed from underneath it what it was expected to work with. By simply
      dropping the previous loader in test_runpy so the proper loader can be returned
      by the finder fixed the failure.
      
      At this point importlib deviates from import on two points:
      
      1. The exception raised when trying to import a file is different (import does
      an explicit file check to print a special message, importlib just says the path
      cannot be imported as if it was just some module name).
      
      2. the co_filename on a code object is not being set to where bytecode was
      actually loaded from instead of where the marshalled code object originally
      came from (a solution for this has already been agreed upon on python-dev but has
      not been implemented yet; issue8611).
      d71bed3d
    • Alexander Belopolsky's avatar
      Issue #9151: Demo/classes/Dates.py does not work in 3.x Converted · 401d8563
      Alexander Belopolsky authored
      descriptive comment into a docstring.  Cast attributes to int in
      __init__.  Use __new__ instead of deleting attributes to
      "uninitialize".
      401d8563
    • Brett Cannon's avatar
      Fix a spelling mistake in a comment. · 2cf15854
      Brett Cannon authored
      2cf15854
    • Brett Cannon's avatar
      Trailing whitespace is bad for .rst files. · 767a0f86
      Brett Cannon authored
      767a0f86
    • Brett Cannon's avatar
      Make importlib.abc.SourceLoader the primary mechanism for importlib. · 61b14251
      Brett Cannon authored
      This required moving the class from importlib/abc.py into
      importlib/_bootstrap.py and jiggering some code to work better with the class.
      This included changing how the file finder worked to better meet import
      semantics. This also led to fixing importlib to handle the empty string from
      sys.path as import currently does (and making me wish we didn't support that
      instead just required people to insert '.' instead to represent cwd).
      
      It also required making the new set_data abstractmethod create
      any needed subdirectories implicitly thanks to __pycache__ (it was either this
      or grow the SourceLoader ABC to gain an 'exists' method and either a mkdir
      method or have set_data with no data arg mean to create a directory).
      
      Lastly, as an optimization the file loaders cache the file path where the
      finder found something to use for loading (this is thanks to having a
      sourceless loader separate from the source loader to simplify the code and
      cut out stat calls).
      Unfortunately test_runpy assumed a loader would always work for a module, even
      if you changed from underneath it what it was expected to work with. By simply
      dropping the previous loader in test_runpy so the proper loader can be returned
      by the finder fixed the failure.
      
      At this point importlib deviates from import on two points:
      
      1. The exception raised when trying to import a file is different (import does
      an explicit file check to print a special message, importlib just says the path
      cannot be imported as if it was just some module name).
      
      2. the co_filename on a code object is not being set to where bytecode was
      actually loaded from instead of where the marshalled code object originally
      came from (a solution for this has already been agreed upon on python-dev but has
      not been implemented yet; issue8611).
      61b14251
    • Alexander Belopolsky's avatar
      Issue #9151: Demo/classes/Dates.py does not work in 3.x · bb3565d4
      Alexander Belopolsky authored
      Made minimal changes to make included test pass.
      bb3565d4
    • Brett Cannon's avatar
      Ignore __pycache__. · 6c96bfe0
      Brett Cannon authored
      6c96bfe0
    • Mark Dickinson's avatar
      702636a8
    • Alexander Belopolsky's avatar
      60c762b7
    • Senthil Kumaran's avatar
      Fix Issue5468 - urlencode to handle bytes and other alternate encodings. · df022da3
      Senthil Kumaran authored
      (Extensive tests provided). Patch by Dan Mahn.
      df022da3
    • Benjamin Peterson's avatar
    • Victor Stinner's avatar
      Merged revisions 82492 via svnmerge from · bc5c54bc
      Victor Stinner authored
      svn+ssh://pythondev@svn.python.org/python/trunk
      
      ........
        r82492 | victor.stinner | 2010-07-03 15:36:19 +0200 (sam., 03 juil. 2010) | 3 lines
      
        Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module,
        ensure that the input string length is a multiple of the frame size
      ........
      bc5c54bc
    • Georg Brandl's avatar
    • Georg Brandl's avatar
      Fix markup. · 94e5de0d
      Georg Brandl authored
      94e5de0d
    • Georg Brandl's avatar
      Merged revisions 82483 via svnmerge from · 2cb72d3a
      Georg Brandl authored
      svn+ssh://pythondev@svn.python.org/python/trunk
      
      ........
        r82483 | georg.brandl | 2010-07-03 12:25:54 +0200 (Sa, 03 Jul 2010) | 1 line
      
        Add link to bytecode docs.
      ........
      2cb72d3a
    • Georg Brandl's avatar
      Recorded merge of revisions 82474 via svnmerge from · eccd50a0
      Georg Brandl authored
      svn+ssh://pythondev@svn.python.org/python/trunk
      
      ........
        r82474 | georg.brandl | 2010-07-03 10:40:13 +0200 (Sa, 03 Jul 2010) | 1 line
      
        Fix role name.
      ........
      eccd50a0
    • Georg Brandl's avatar
      Use the right role. · f68798b9
      Georg Brandl authored
      f68798b9
    • Georg Brandl's avatar
      Wrap and use the correct directive. · 19b7a871
      Georg Brandl authored
      19b7a871
    • Mark Dickinson's avatar
      Merged revisions 82476 via svnmerge from · 39af05fc
      Mark Dickinson authored
      svn+ssh://pythondev@svn.python.org/python/trunk
      
      ........
        r82476 | mark.dickinson | 2010-07-03 10:15:09 +0100 (Sat, 03 Jul 2010) | 1 line
      
        Fix typo in sys.float_info docs.
      ........
      39af05fc
    • Nick Coghlan's avatar