1. 05 Jul, 2010 1 commit
  2. 04 Jul, 2010 21 commits
  3. 03 Jul, 2010 18 commits
    • Alexander Belopolsky's avatar
      123023e6
    • Brett Cannon's avatar
      Make importlib.abc.SourceLoader the primary mechanism for importlib. · 02be319f
      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).
      02be319f
    • Brett Cannon's avatar
      Make importlib.abc.SourceLoader the primary mechanism for importlib. · 41265ab0
      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).
      41265ab0
    • Alexander Belopolsky's avatar
      Issue #9151: Demo/classes/Dates.py does not work in 3.x Converted · a88984b2
      Alexander Belopolsky authored
      descriptive comment into a docstring.  Cast attributes to int in
      __init__.  Use __new__ instead of deleting attributes to
      "uninitialize".
      a88984b2
    • Brett Cannon's avatar
      Fix a spelling mistake in a comment. · 419f9ac0
      Brett Cannon authored
      419f9ac0
    • Brett Cannon's avatar
      Trailing whitespace is bad for .rst files. · b0083779
      Brett Cannon authored
      b0083779
    • Brett Cannon's avatar
      Make importlib.abc.SourceLoader the primary mechanism for importlib. · 8de2231f
      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).
      8de2231f
    • Alexander Belopolsky's avatar
      Issue #9151: Demo/classes/Dates.py does not work in 3.x · 6f39c79f
      Alexander Belopolsky authored
      Made minimal changes to make included test pass.
      6f39c79f
    • Brett Cannon's avatar
      Ignore __pycache__. · 0dbccb25
      Brett Cannon authored
      0dbccb25
    • Mark Dickinson's avatar
      10e04af1
    • Alexander Belopolsky's avatar
      3a2a5ab6
    • Senthil Kumaran's avatar
      Fix Issue5468 - urlencode to handle bytes and other alternate encodings. · 520dd5ef
      Senthil Kumaran authored
      (Extensive tests provided). Patch by Dan Mahn.
      520dd5ef
    • Benjamin Peterson's avatar
    • Victor Stinner's avatar
      Merged revisions 82492 via svnmerge from · 7df562d5
      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
      ........
      7df562d5
    • Georg Brandl's avatar
    • Georg Brandl's avatar
      Fix markup. · cac08323
      Georg Brandl authored
      cac08323
    • Georg Brandl's avatar
      Merged revisions 82483 via svnmerge from · dddf6a47
      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.
      ........
      dddf6a47
    • Georg Brandl's avatar
      Recorded merge of revisions 82474 via svnmerge from · db79f681
      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.
      ........
      db79f681