1. 04 Tem, 2010 20 kayıt (commit)
  2. 03 Tem, 2010 20 kayıt (commit)
    • Alexander Belopolsky's avatar
    • Brett Cannon's avatar
      Make importlib.abc.SourceLoader the primary mechanism for importlib. · 418182e1
      Brett Cannon yazdı
      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 yazdı
      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 yazdı
      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 yazdı
      2cf15854
    • Brett Cannon's avatar
      767a0f86
    • Brett Cannon's avatar
      Make importlib.abc.SourceLoader the primary mechanism for importlib. · 61b14251
      Brett Cannon yazdı
      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 yazdı
      Made minimal changes to make included test pass.
      bb3565d4
    • Brett Cannon's avatar
      Ignore __pycache__. · 6c96bfe0
      Brett Cannon yazdı
      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 yazdı
      (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 yazdı
      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 yazdı
      94e5de0d
    • Georg Brandl's avatar
      Merged revisions 82483 via svnmerge from · 2cb72d3a
      Georg Brandl yazdı
      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 yazdı
      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 yazdı
      f68798b9
    • Georg Brandl's avatar
      Wrap and use the correct directive. · 19b7a871
      Georg Brandl yazdı
      19b7a871